最近我一直在思考一个我在标题中提到的问题。
正如OWASP在他们的规则#1中建议的那样,在将用户输入插入HTML页面之前,应该做一些HTML转义。
但是,在以下情况下:
如果我只转义 4 个字符:<> ' ",而不是 &,是否有任何有效负载会导致 XSS?请注意,"注意";在用户输入中无法关闭属性。
还是有没有字符和必须转义的情况,否则会出现XSS漏洞?
以下是您应该考虑的事情:
<
<
,>
>
您可以看到&
用于指示逃生点。
因此,如果您想输入&
而不是&
浏览器(解析器(可能会将其视为转义点。
这就是为什么您需要使用&
而不是&
.