0

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

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

但是,在以下情况下:

<tag>用户输入</tag>

<tag 属性="userInput"></tag>

如果我只转义 4 个字符:< > ' ",而不是 &,是否有任何有效负载可能导致 XSS?请注意 userInput 中的 " 无法关闭属性。

或者有没有必须转义字符 & 的情况,否则会有 XSS 漏洞存在?

4

1 回答 1

1

这是您应该考虑的事情:

&lt;<&gt;>

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

所以如果你想输入&而不是&amp;浏览器(解析器)可能会认为它是一个转义点。

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

于 2018-05-08T06:31:45.567 回答