绕过CSP用悬空的iframe

显示iframe屏幕截图从字符串中悬挂

介绍

我们的网beplay体育能用吗络安全学院有一个主题悬空的标记注射- 一种利用受保护地点的技术CSP。但是,当我们来更新Chrome 97时,发生了一些有趣的事情 - 因为我们的一个互动实验室神秘地停止了工作。当我们最初制作该实验室时,Chrome通过寻找原始的空格,然后是“ <”字符来防止基于标记的攻击 - 但忘记了防止背景属性(如Masato Kinugawa)。

不幸的是,从Chrome 97中,这项技术不再起作用,因此我的任务是尝试找到另一种选择。我尝试了许多不同的属性和基于CSS的动画来延迟作业以尝试绕过此保护。他们都失败了 - 似乎力量很强迈克·韦斯特,撰写了这一变化。

我退后一步,分析了CSP:

default-src'self'; object-src'none';style-src'self';Script-Src'self';img-src *;

这看起来是水密的,就在(除了IMG-SRC之外)吗?如果我告诉您您可以删除“ IMG-SRC”指令,但仍然在不单击的情况下仍进行悬空的标记攻击怎么办?让我们看看如何...

跨域iframe问题

首先,我开火了黑客检查员这是一个以安全性的枚举器,我在一段时间后进行了编码,并开始剖析iFrames的内部工作。检查员方便测试多个域的跨域泄漏。我添加了首先在该实例内,我添加了另一个iframe:

概念证明

结论

CSP对待:空白URL作为相同的来源 - 但是,当攻击者将跨域设置为大约:空白时,它会被攻击者读取,并且绝对不是相同的来源。用于悬挂标记攻击的镀铬缓解措施阻止了一些攻击,但是通过滥用浏览器怪癖,可以避开这些缓解的缓解并通过注射访问跨域信息 - 即使在CSP中禁用JavaScript。

时间线

2022-02-10 08:55 GMT-向Google报告错误
2022-02-10 09:38 GMT-报告给Mozilla
2022-06-14 GMT下午15:00 - 出版了此帖子

回到所有文章

相关的研究

每日Swig的推荐故事beplay2018官网