mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/pentesting-web/browser-extension-pentesting-methodology
This commit is contained in:
parent
00acdc4c00
commit
3631c1ecdf
@ -5,7 +5,7 @@
|
||||
## Grundinformationen
|
||||
|
||||
Diese Seite wird eine ClickJacking-Sicherheitsanfälligkeit in einer Browsererweiterung ausnutzen.\
|
||||
Wenn Sie nicht wissen, was ClickJacking ist, schauen Sie sich an:
|
||||
Wenn du nicht weißt, was ClickJacking ist, schau dir an:
|
||||
|
||||
{{#ref}}
|
||||
../clickjacking.md
|
||||
@ -15,26 +15,26 @@ Erweiterungen enthalten die Datei **`manifest.json`** und diese JSON-Datei hat e
|
||||
|
||||
> Diese Ressourcen wären dann über die URL **`chrome-extension://[PACKAGE ID]/[PATH]`** in einer Webseite verfügbar, die mit der **`extension.getURL method`** generiert werden kann. Erlaubte Ressourcen werden mit entsprechenden CORS-Headern bereitgestellt, sodass sie über Mechanismen wie XHR verfügbar sind.[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1)
|
||||
|
||||
Die **`web_accessible_resources`** in einer Browsererweiterung sind nicht nur über das Web zugänglich; sie funktionieren auch mit den inhärenten Berechtigungen der Erweiterung. Das bedeutet, dass sie die Fähigkeit haben, zu:
|
||||
Die **`web_accessible_resources`** in einer Browsererweiterung sind nicht nur über das Web zugänglich; sie funktionieren auch mit den inhärenten Berechtigungen der Erweiterung. Das bedeutet, dass sie die Fähigkeit haben zu:
|
||||
|
||||
- Den Zustand der Erweiterung zu ändern
|
||||
- Zusätzliche Ressourcen zu laden
|
||||
- In gewissem Maße mit dem Browser zu interagieren
|
||||
|
||||
Diese Funktion stellt jedoch ein Sicherheitsrisiko dar. Wenn eine Ressource innerhalb von **`web_accessible_resources`** eine wesentliche Funktionalität hat, könnte ein Angreifer diese Ressource möglicherweise in eine externe Webseite einbetten. Unverdächtige Benutzer, die diese Seite besuchen, könnten unbeabsichtigt diese eingebettete Ressource aktivieren. Eine solche Aktivierung könnte je nach Berechtigungen und Fähigkeiten der Ressourcen der Erweiterung zu unbeabsichtigten Konsequenzen führen.
|
||||
Diese Funktion stellt jedoch ein Sicherheitsrisiko dar. Wenn eine Ressource innerhalb von **`web_accessible_resources`** eine signifikante Funktionalität hat, könnte ein Angreifer diese Ressource potenziell in eine externe Webseite einbetten. Unwissende Benutzer, die diese Seite besuchen, könnten unbeabsichtigt diese eingebettete Ressource aktivieren. Eine solche Aktivierung könnte je nach Berechtigungen und Fähigkeiten der Ressourcen der Erweiterung zu unbeabsichtigten Konsequenzen führen.
|
||||
|
||||
## PrivacyBadger Beispiel
|
||||
|
||||
In der Erweiterung PrivacyBadger wurde eine Sicherheitsanfälligkeit identifiziert, die sich auf das Verzeichnis `skin/` bezieht, das als `web_accessible_resources` auf folgende Weise deklariert wurde (Überprüfen Sie den ursprünglichen [Blogbeitrag](https://blog.lizzie.io/clickjacking-privacy-badger.html)):
|
||||
In der Erweiterung PrivacyBadger wurde eine Sicherheitsanfälligkeit identifiziert, die sich auf das Verzeichnis `skin/` bezieht, das als `web_accessible_resources` in folgender Weise deklariert wurde (Siehe den ursprünglichen [Blogbeitrag](https://blog.lizzie.io/clickjacking-privacy-badger.html)):
|
||||
```json
|
||||
"web_accessible_resources": [
|
||||
"skin/*",
|
||||
"icons/*"
|
||||
]
|
||||
```
|
||||
Diese Konfiguration führte zu einem potenziellen Sicherheitsproblem. Insbesondere könnte die Datei `skin/popup.html`, die bei Interaktion mit dem PrivacyBadger-Symbol im Browser gerendert wird, innerhalb eines `iframe` eingebettet werden. Diese Einbettung könnte ausgenutzt werden, um Benutzer zu täuschen, sodass sie versehentlich auf "Disable PrivacyBadger for this Website" klicken. Eine solche Aktion würde die Privatsphäre des Benutzers gefährden, indem der Schutz von PrivacyBadger deaktiviert wird und der Benutzer möglicherweise einer erhöhten Verfolgung ausgesetzt wird. Eine visuelle Demonstration dieses Exploits kann in einem ClickJacking-Video-Beispiel angesehen werden, das unter [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm) bereitgestellt wird.
|
||||
Diese Konfiguration führte zu einem potenziellen Sicherheitsproblem. Insbesondere könnte die Datei `skin/popup.html`, die bei Interaktion mit dem PrivacyBadger-Icon im Browser gerendert wird, innerhalb eines `iframe` eingebettet werden. Diese Einbettung könnte ausgenutzt werden, um Benutzer zu täuschen, sodass sie versehentlich auf "Disable PrivacyBadger for this Website" klicken. Eine solche Aktion würde die Privatsphäre des Benutzers gefährden, indem der Schutz von PrivacyBadger deaktiviert wird und der Benutzer möglicherweise einer erhöhten Verfolgung ausgesetzt wird. Eine visuelle Demonstration dieses Exploits kann in einem ClickJacking-Video-Beispiel angesehen werden, das unter [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm) bereitgestellt wird.
|
||||
|
||||
Um diese Schwachstelle zu beheben, wurde eine einfache Lösung implementiert: die Entfernung von `/skin/*` aus der Liste der `web_accessible_resources`. Diese Änderung minderte effektiv das Risiko, indem sichergestellt wurde, dass der Inhalt des Verzeichnisses `skin/` nicht über webzugängliche Ressourcen zugegriffen oder manipuliert werden konnte.
|
||||
Um diese Schwachstelle zu beheben, wurde eine einfache Lösung implementiert: die Entfernung von `/skin/*` aus der Liste der `web_accessible_resources`. Diese Änderung minderte das Risiko effektiv, indem sichergestellt wurde, dass der Inhalt des Verzeichnisses `skin/` nicht über webzugängliche Ressourcen zugegriffen oder manipuliert werden konnte.
|
||||
|
||||
Die Lösung war einfach: **entfernen Sie `/skin/*` aus den `web_accessible_resources`**.
|
||||
|
||||
@ -75,11 +75,11 @@ src="chrome-extension://ablpimhddhnaldgkfbpafchflffallca/skin/popup.html">
|
||||
```
|
||||
## Metamask Beispiel
|
||||
|
||||
Ein [**Blogbeitrag über ClickJacking in Metamask ist hier zu finden**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9). In diesem Fall hat Metamask die Schwachstelle behoben, indem überprüft wurde, dass das Protokoll, das zugegriffen wurde, **`https:`** oder **`http:`** (nicht **`chrome:`** zum Beispiel) war:
|
||||
Ein [**Blogbeitrag über ein ClickJacking in Metamask ist hier zu finden**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9). In diesem Fall hat Metamask die Schwachstelle behoben, indem überprüft wurde, dass das Protokoll, das zum Zugriff verwendet wird, **`https:`** oder **`http:`** (nicht **`chrome:`** zum Beispiel) ist:
|
||||
|
||||
<figure><img src="../../images/image (21).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**Ein weiteres ClickJacking, das in der Metamask-Erweiterung behoben wurde**, war, dass Benutzer **Klicken, um auf die Whitelist zu setzen** konnten, wenn eine Seite verdächtig war, Phishing zu sein, aufgrund von `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`. Da diese Seite anfällig für Clickjacking war, konnte ein Angreifer sie missbrauchen, indem er etwas Normales zeigte, um das Opfer dazu zu bringen, es ohne Notice auf die Whitelist zu setzen, und dann zurück zur Phishing-Seite zu gehen, die dann auf die Whitelist gesetzt wird.
|
||||
**Ein weiteres ClickJacking, das** in der Metamask-Erweiterung behoben wurde, war, dass Benutzer **Klicken, um auf die Whitelist zu setzen** konnten, wenn eine Seite verdächtig war, Phishing zu sein, aufgrund von `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`. Da diese Seite anfällig für Clickjacking war, konnte ein Angreifer sie missbrauchen, indem er etwas Normales zeigte, um das Opfer dazu zu bringen, es ohne Notice auf die Whitelist zu setzen, und dann zurück zur Phishing-Seite zu gehen, die dann auf die Whitelist gesetzt wird.
|
||||
|
||||
## Steam Inventory Helper Beispiel
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user