该%uhhhh
语法是众所周知的百分比编码的非标准变体,其中可以直接通过其代码点而不是通过其编码的代码点来指定 Unicode 字符,就像某些语言支持一样\uhhhh
。unescape
JavaScript 的函数以及 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 个网站。