转义 < 足以防止 XSS 攻击

ryn*_*rtn 5 security xss

我正在与一位同事争论如何通过特定字符的编码来防止 XSS 攻击。用 逃避<角色会&lt;成功吗?

当我查看OWASP 发布的攻击向量备忘单时,似乎所有攻击都使用<字符作为执行的基础。

如果这不起作用,什么攻击可以打败它?

Sil*_*Fox 5

不,对于 HTML 正文,您还需要对&字符进行编码,以防止攻击者可能逃脱转义。

查看XSS 实验最小编码规则:-

HTML 正文(最高 HTML 4.01):

  • HTML 实体编码< &

  • 在元标记中指定字符集以避免 UTF7 XSS

XHTML 正文:

请注意,如果您想在属性值中输入内容,则需要对所有具有特殊含义的字符进行正确编码。XSS (跨站脚本)预防备忘单提到对以下字符进行编码:-

&,,,,,,,<>"'/

您还必须引用属性值才能使转义有效。

  • @rynmrtn:查看您在问题中发布的链接的过滤器规避备忘单。`&lt;IMG SRC=javascript:alert('XSS'&amp; #x29&gt;` 就是其中之一。如果您的应用程序生成“IMG”标签,并且“SRC”由用户输入设置,则这将是有效的。 (2认同)