为什么我应该在XSS预防中转换&到&?



最近我一直在思考一个我在标题中提到的问题。

正如OWASP在他们的规则#1中建议的那样,在将用户输入插入HTML页面之前,应该做一些HTML转义。

但是,在以下情况下:

userInput

如果我只转义 4 个字符:<> ' ",而不是 &,是否有任何有效负载会导致 XSS?请注意,"注意";在用户输入中无法关闭属性。

还是有没有字符和必须转义的情况,否则会出现XSS漏洞?

以下是您应该考虑的事情:

&lt;<&gt;>

您可以看到&用于指示逃生点。

因此,如果您想输入&而不是&amp;浏览器(解析器(可能会将其视为转义点。

这就是为什么您需要使用&amp;而不是&.

最新更新