我想在HTML上下文中转而使用XSS,到目前为止,我已经处理了<
,>
和"
字符。
显然也建议您也不要使用&号,但是为什么呢? (除了使HTML有效之外,让我们假设这不是问题)
所以我要问的是:
当我逃脱<
,>
和"
时,有人可以演示在Linux上下文中,“&”号仍如何允许XSS攻击吗?
干杯!
最佳答案
您应该真正看一下OWASP XSS预防备忘单。
您应该逃脱&,因为它可以用来绕过其他防御措施。考虑以下代码:
<button onclick="confirm('Do you really want to delete <%= data_from_user; %> ?'">Delete</button>
为了在onclick事件处理程序中防御XSS,开发人员在data_from_user中转义了',“,<和>,并认为一切正常。问题是,如果攻击者键入
'
并通过转义,但最终允许攻击者运行javascript。此处的示例:http://erlend.oftedal.no/blog/?blogid=124
关于escaping - 跨站点脚本(XSS): Do I need to escape the ampersand?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9124134/