iframe下alert()已死

admin 2022年3月1日23:33:06评论49 views字数 940阅读3分8秒阅读模式

    xss和alert()函数已经携手并进了几十年。想证明你可以执行任意 JavaScript 吗?弹出警报。想以懒惰的方式找到 XSS 漏洞吗?到处注入alert()-invoking有效载荷,看看是否有任何东西弹出。

然而,麻烦正在酝酿之中。恶意广告一直在滥用我们钟爱的alert,从 iframe 内部分散和社交工程访问者的注意力。Chrome 已决定通过禁用跨域 iframe 警报来解决此问题。跨域 iframe 通常是故意内置到网站中的,也是某些相对高级的 XSS 攻击的近乎必不可少的组成部分。

一旦 Chrome 92版本正式全面更新,跨域 iframe 中的 XSS 漏洞将:

  • 不再启用基于alert的 PoC。

  • 使用基于alert的检测技术的任何人都不可见。

    接下来是什么?显而易见的解决方法是使用提示或确认,但不幸的是 Chrome 的缓解阻止了所有对话框。触发DNS pingback到侦听器,OAST 风格是另一种潜在的方法,但由于配置要求不太适合作为 PoC。我们还排除了console.log()因为控制台功能经常被 JavaScript 混淆器代理或禁用。

有趣的是,这种防止跨域显示对话框的“保护”会阻止alert和提示,但正如Yosuke Hasegawa 指出的那样,他们忘记了基本身份验证。这适用于当前版本的金丝雀。不过以后很可能会被屏蔽。

我们需要一个alert替代方案:

  • 简单、免设置且易于记忆

  • 高度可见,即使在不可见的 iframe 中执行

经过数周的深入研究,我们很高兴为您带来...

        print()

            支持iframe下alert()已死

                如<body onhashchange="print()">,效果如下

iframe下alert()已死

    当使用跨域 iframe 时,可以使用print() 有效负载。当不涉及 iframe 时,我们可以继续使用alert。portswigger团队最新的xss-cheat-sheet中也更新了print()的部分。

    快把payload库更新起来吧

链接:https://portswigger.net/web-security/cross-site-scripting/cheat-sheet


本文始发于微信公众号(军机故阁):iframe下alert()已死

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月1日23:33:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   iframe下alert()已死https://cn-sec.com/archives/498059.html

发表评论

匿名网友 填写信息