Translated ['src/pentesting-web/browser-extension-pentesting-methodology

This commit is contained in:
Translator 2025-04-13 15:54:59 +00:00
parent dca99ced41
commit 8f1859119d

View File

@ -11,21 +11,21 @@
../clickjacking.md
{{#endref}}
扩展包含文件**`manifest.json`**该JSON文件有一个字段`web_accessible_resources`。以下是[Chrome文档](https://developer.chrome.com/extensions/manifest/web_accessible_resources)中对此的说明:
扩展包含文件 **`manifest.json`**该JSON文件有一个字段 `web_accessible_resources`。以下是[Chrome文档](https://developer.chrome.com/extensions/manifest/web_accessible_resources)中对此的说明:
> 这些资源将通过URL **`chrome-extension://[PACKAGE ID]/[PATH]`** 在网页中可用该URL可以通过**`extension.getURL method`**生成。允许的资源会带有适当的CORS头因此可以通过XHR等机制访问。[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1)
> 这些资源将通过URL **`chrome-extension://[PACKAGE ID]/[PATH]`** 在网页中可用该URL可以通过 **`extension.getURL method`** 生成。允许的资源会带有适当的CORS头因此可以通过XHR等机制访问。[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1)
浏览器扩展中的**`web_accessible_resources`**不仅可以通过网络访问;它们还具有扩展的固有权限。这意味着它们能够:
浏览器扩展中的 **`web_accessible_resources`** 不仅可以通过网络访问;它们还具有扩展的固有权限。这意味着它们能够:
- 更改扩展的状态
- 加载额外的资源
- 在一定程度上与浏览器交互
然而,这一特性带来了安全风险。如果**`web_accessible_resources`**中的某个资源具有任何重要功能,攻击者可能会将该资源嵌入到外部网页中。毫无防备的用户访问此页面时,可能会无意中激活嵌入的资源。这种激活可能导致意想不到的后果,具体取决于扩展资源的权限和能力。
然而,这一特性带来了安全风险。如果 **`web_accessible_resources`** 中的某个资源具有任何重要功能,攻击者可能会将该资源嵌入到外部网页中。毫无防备的用户访问此页面时,可能会无意中激活这个嵌入的资源。这种激活可能导致意想不到的后果,具体取决于扩展资源的权限和能力。
## PrivacyBadger示例
## PrivacyBadger 示例
在扩展PrivacyBadger中发现了与`skin/`目录被声明为`web_accessible_resources`相关的漏洞,具体如下(查看原始[博客文章](https://blog.lizzie.io/clickjacking-privacy-badger.html)
在扩展PrivacyBadger中发现了与 `skin/` 目录被声明为 `web_accessible_resources` 相关的漏洞,具体如下(查看原始[博客文章](https://blog.lizzie.io/clickjacking-privacy-badger.html)
```json
"web_accessible_resources": [
"skin/*",
@ -75,11 +75,11 @@ src="chrome-extension://ablpimhddhnaldgkfbpafchflffallca/skin/popup.html">
```
## Metamask 示例
一个关于 Metamask 中 ClickJacking 的 [**博客文章可以在这里找到**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9)。在这种情况下Metamask 通过检查访问所使用的协议是否为 **`https:`** 或 **`http:`**(例如不是 **`chrome:`**)来修复漏洞:
一个关于 Metamask 中 ClickJacking 的 [**博客文章可以在这里找到**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9)。在这种情况下Metamask 通过检查访问所使用的协议是否为 **`https:`** 或 **`http:`**(例如不是 **`chrome:`**)来修复漏洞:
<figure><img src="../../images/image (21).png" alt=""><figcaption></figcaption></figure>
在 Metamask 扩展中修复的 **另一个 ClickJacking** 是用户能够在页面被怀疑为钓鱼时 **点击以列入白名单**,因为 `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`。由于该页面易受 Clickjacking 攻击,攻击者可以利用它显示一些正常的内容,使受害者在未注意的情况下点击以列入白名单,然后再返回到将被列入白名单的钓鱼页面。
在 Metamask 扩展中修复的 **另一个 ClickJacking** 是用户能够在页面被怀疑为钓鱼时 **点击白名单**,因为 `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`。由于该页面易受 Clickjacking 攻击,攻击者可以利用它显示一些正常的内容,使受害者在未注意的情况下点击以将其列入白名单,然后再返回到将被列入白名单的钓鱼页面。
## Steam Inventory Helper 示例