这是一个赌注的问题。我的一个熟人声称,给定一个任意的 HTML 全局,如果在将其放入网页之前,将所有实例替换为 -- 并且不进行其他更改,则可以完全阻止它执行 JavaScript 。<<
我不相信我的熟人是正确的,但我也想不出反例。任何人都可以证明或反驳吗?
澄清:假设转义发生在服务器端,并且 glob 作为普通元素的内容插入,例如
<p>{{ GLOB GOES HERE }}</p>
此外,假设客户端正确地实现了 HTML5 解析器算法;我们不担心错误、遗留解析器或仅适用于 XML 或 SGML 的场景。
进一步澄清:OWASP 规则是故意保守的。因为这是赌注,所以我们想要一个迂腐的答案,而不是保守的答案。