4

本文中,我收到了 XSS 攻击向量的警告"%u00ABscript%u00BB"。我想知道什么类型的语法"%u00AB"。在我对 Chromium 的简短测试中,它实际上并没有被渲染到标签中,这让我相信 SQL 引擎或服务器端编程语言都使用了该语法。我不关心存储/反射的 XSS,只关心基于 DOM 的。我不认识它,所以也许它像 ruby​​ 或 python 之类的?

另外,有谁知道它在其他浏览器中是否存在问题?我只测试了 Chromium,但可能其他版本和浏览器的行为不同,因此很容易受到攻击。

4

2 回答 2

3

%uhhhh语法是众所周知的百分比编码的非标准变体,其中可以直接通过其代码点而不是通过其编码的代码点来指定 Unicode 字符,就像某些语言支持一样\uhhhhunescapeJavaScript 的函数以及 Microsft 的 IIS Web 服务器都支持这种语法。

但这可能不是%u00AB映射到的原因«。造成这种情况的原因是某种音译,例如iconv供应

iconv('UTF-8', 'ASCII//TRANSLIT', '«') === '<<'
iconv('UTF-8', 'KOI8-R//TRANSLIT', '«') === '<<'

并且根据Jeremiah Grossman 的博文Results, Unicode Left/Right Pointing Double Angel Quotation Mark提到这个漏洞,易受攻击的应用程序的数量总结如下:

Arian 承诺在使用WhiteHat Sentinel扫描数百个生产网站后返回3APA3A 。该平台的巨大研发优势。两年后有数据可以分享。我们一直很忙,但是,嘿,迟到是最好的,对吧?:) 事实证明 3APA3A 是正确的!Arian 发现少数 Web 应用程序容易受到编码技术的影响,如果样本池足够大,它们就会累加起来。样本范围从 300 到大约 1000 个网站。

于 2012-09-30T18:38:25.263 回答
2

这是一种称为非标准 unicode的百分比编码机制,或者%u encoding,在 2004 年被拒绝。

简而言之,您应该意识到all the possible combinations of the character "<". 最好的起点是OWASP XSS Filter Evasion Cheat Sheet

于 2012-09-30T18:08:55.403 回答