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
3631c1ecdf
commit
ebcee32ade
@ -15,13 +15,13 @@ 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, sie haben die Fähigkeit zu:
|
||||
|
||||
- Den Zustand der Erweiterung zu ändern
|
||||
- Zusätzliche Ressourcen zu laden
|
||||
- In gewissem Maße mit dem Browser zu interagieren
|
||||
- Den Zustand der Erweiterung ändern
|
||||
- Zusätzliche Ressourcen laden
|
||||
- In gewissem Maße mit dem Browser interagieren
|
||||
|
||||
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.
|
||||
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 versehentlich 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
|
||||
|
||||
@ -34,7 +34,7 @@ In der Erweiterung PrivacyBadger wurde eine Sicherheitsanfälligkeit identifizie
|
||||
```
|
||||
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 das Risiko effektiv, 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 effektiv das Risiko, 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,7 +75,7 @@ src="chrome-extension://ablpimhddhnaldgkfbpafchflffallca/skin/popup.html">
|
||||
```
|
||||
## Metamask Beispiel
|
||||
|
||||
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:
|
||||
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 zum Zugriff verwendet wird, **`https:`** oder **`http:`** (nicht **`chrome:`** zum Beispiel) ist:
|
||||
|
||||
<figure><img src="../../images/image (21).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user