我最近阅读了Ned Batchelders 关于 UTF-7 XSS-attacks 的文章。我测试了他的示例,但无法让任何 UTF-7 攻击在现代浏览器中起作用。到目前为止,我尝试了最新版本的 Firefox、Chrome 和 Safari。
我知道 Chrome 有一些 XSS 攻击预防机制,但根据我的经验,Firefox 有一个更“慷慨”的执行 javascript 的机制,即使它被破坏了 - 但是,这些浏览器似乎都没有默认选择 UTF-7 字符集,如果该网站正在使用(但未明确声明)它。
所以:有人知道为什么这不再起作用了吗?似乎 UTF-7 检测机制发生了变化,甚至可能出于安全原因?如果无法更改文档中的字符集声明或操纵标题,UTF-7 攻击是否仍能针对现代浏览器?