我为什么要转换&到&在XSS预防?

时间:2018-05-08 06:25:05

标签: security xss websecurity

最近我一直在思考一个问题,正如我在标题中提到的那样。

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

但是,在以下情况下:

<标记> userInput< /标签>

< tag attribute =“userInput”>< / tag>

如果我只逃脱4个角色:< > “”,但不是&amp ;,是否有任何有效负载可能导致XSS?请注意,userInput中的& quot不能使属性关闭。

或者是否有任何字符&必须被转义,否则会存在XSS漏洞?

1 个答案:

答案 0 :(得分:1)

您应该考虑以下事项:

  

&lt;<&gt;>

您可以看到&用于指示转义点。

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

这就是您需要使用&amp;代替&的原因。