XSS和alert()函数已经联手有数十年的历史了。想要证明您可以执行任意的JavaScript吗? 一般是弹出一个警告。想以懒惰的方式找到XSS漏洞吗?在所有地方注入alert() payload,看看是否弹出任何内容。
然而,麻烦正在酝酿之中。恶意广告一直在滥用我们心爱的alert,还有iframe标签中的社交访客。谷歌Chrome已经决定,禁止跨域的iframe使用告警功能来解决这个问题。而跨域的iframe经常被故意构建到网站中,也是某些相对高级的XSS攻击的重要组成部分。
一旦Chrome 92在2021年7月20日发布,跨域iframe的XSS漏洞将:
-
不能再使用基于告警的poc了
-
使用基于告警的检测技术将会消失
下一步怎么办? 最明显的解决方法是使用prompt或confirm,但不幸的是Chrome的缓解措施会阻止所有对话框。向侦听器触发DNS pingback,OAST-style是另一种潜在的方法,但由于配置需求,不太适合作为PoC。我们还排除了console.log(),因为控制台经常被JavaScript模糊处理器代理或禁用。
这个防护措施相当有趣,针对弹出对话框,跨域阻止使用告警和提示窗口,但正如Yosuke Hasegawa指出,他们忘记了基本的身份验证。这在canary的当前版本中是可行的。不过,它很可能在未来被屏蔽。
我们需要一个alert替代方案:
-
简单,免设置,易于记忆
-
高度可见,即使在不可见的iframe中执行
经过几周的深入研究,我们很高兴为您带来…
print()
我们现在将继续使用alert,当不涉及iframes。
来源:freebuf.com 2021-07-20 08:06:38 by: d447059172
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册