我想在HTML上下文中转换XSS,到目前为止我处理<
,>
和"
个字符。
显然也建议逃避&符号,但为什么呢? (除了保持HTML有效之外,我们假设这不是问题)
所以我要问的是:
当我逃离<
,>
和"
时,有人可以证明&符号在HTML上下文中仍然可以允许XSS攻击吗?
干杯!
答案 0 :(得分:6)
你应该看看OWASP XSS预防备忘单。
你应该逃避&amp;因为它可以用来规避其他防御。请考虑以下代码:
<button onclick="confirm('Do you really want to delete <%= data_from_user; %> ?'">Delete</button>
为了防御onclick事件处理程序中的XSS,开发人员在data_from_user中转义',',&lt;和&gt;并认为一切正常。问题是如果攻击者键入'
通过转义,但最终允许攻击者运行javascript。
答案 1 :(得分:0)
你使用&amp;在URL中连接params:
反映XXS :
脚本代码注入网页反映给受害者的URL
http://mybank.com/page?message=&lt; script src =“evil _script.js”/&gt;