跨站点脚本(XSS):我是否需要逃离&符号?

Bre*_*her 10 xss escaping ampersand

我想在HTML中的上下文逃避XSS,到目前为止,我对待<,>"字符.显然也建议逃避&符号,但为什么呢?(除了保持HTML有效之外,我们假设这不是问题)

所以,我问的是:当我逃离<,>并且",有人可以证明符号怎么还允许在HTML上下文中的XSS攻击?

干杯!

Erl*_*end 6

你应该看看OWASP XSS预防备忘单.

你应该逃脱,因为它可以用来规避其他防御.考虑以下代码:

<button onclick="confirm('Do you really want to delete <%= data_from_user; %> ?'">Delete</button>
Run Code Online (Sandbox Code Playgroud)

为了防御onclick事件处理程序中的XSS,开发人员在data_from_user中转义',',<和>并认为一切正常.问题是如果攻击者键入了&#39;哪些通过了转义,但最终允许攻击者运行javascript .

示例:http://erlend.oftedal.no/blog/?blogid = 124