escaping - 跨站点脚本(XSS): Do I need to escape the ampersand?

标签 escaping xss ampersand

我想在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中转义了',“,<和>,并认为一切正常。问题是,如果攻击者键入&#39;并通过转义,但最终允许攻击者运行javascript。

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

关于escaping - 跨站点脚本(XSS): Do I need to escape the ampersand?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9124134/

相关文章:

WordPress 中的 jQuery 自动完成和特殊字符

css - LESS CSS 中的转义字符会插入不需要的空格

c# - json 编码的自定义替换未按预期输出双引号

javascript - 在 javascript 变量中保存密码 - 安全隐患?

CSS 选择器无法按预期工作

javascript - 如何在每个 & 周围插入跨度

java - 如何向我的 JSON 映射器引入转义字符?

php - preg_split 反斜杠

mysql - 如果用户知道项目的主键 ID,从安全角度来看这是不好的做法吗

swift - &(内存中的地址)是 Swift 中的运算符还是我使用的是 C?