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

This commit is contained in:
Translator 2025-04-13 15:32:27 +00:00
parent d77875b003
commit b895e02990

View File

@ -13,7 +13,7 @@ Si vous ne savez pas ce qu'est le ClickJacking, consultez :
Les extensions contiennent le fichier **`manifest.json`** et ce fichier JSON a un champ `web_accessible_resources`. Voici ce que disent [les docs de Chrome](https://developer.chrome.com/extensions/manifest/web_accessible_resources) à ce sujet :
> Ces ressources seraient alors disponibles dans une page web via l'URL **`chrome-extension://[PACKAGE ID]/[PATH]`**, qui peut être générée avec la **`extension.getURL method`**. Les ressources autorisées sont servies avec des en-têtes CORS appropriés, donc elles sont disponibles via des mécanismes comme XHR.[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1)
> Ces ressources seraient alors disponibles dans une page web via l'URL **`chrome-extension://[PACKAGE ID]/[PATH]`**, qui peut être générée avec la **`méthode extension.getURL`**. Les ressources autorisées sont servies avec des en-têtes CORS appropriés, donc elles sont disponibles via des mécanismes comme XHR.[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1)
Les **`web_accessible_resources`** dans une extension de navigateur ne sont pas seulement accessibles via le web ; elles fonctionnent également avec les privilèges inhérents de l'extension. Cela signifie qu'elles ont la capacité de :
@ -21,7 +21,7 @@ Les **`web_accessible_resources`** dans une extension de navigateur ne sont pas
- Charger des ressources supplémentaires
- Interagir avec le navigateur dans une certaine mesure
Cependant, cette fonctionnalité présente un risque de sécurité. Si une ressource au sein des **`web_accessible_resources`** a une fonctionnalité significative, un attaquant pourrait potentiellement intégrer cette ressource dans une page web externe. Les utilisateurs non méfiants visitant cette page pourraient involontairement activer cette ressource intégrée. Une telle activation pourrait entraîner des conséquences inattendues, en fonction des autorisations et des capacités des ressources de l'extension.
Cependant, cette fonctionnalité présente un risque de sécurité. Si une ressource au sein des **`web_accessible_resources`** a une fonctionnalité significative, un attaquant pourrait potentiellement intégrer cette ressource dans une page web externe. Les utilisateurs non méfiants visitant cette page pourraient activer involontairement cette ressource intégrée. Une telle activation pourrait entraîner des conséquences inattendues, en fonction des autorisations et des capacités des ressources de l'extension.
## Exemple PrivacyBadger
@ -34,7 +34,7 @@ Dans l'extension PrivacyBadger, une vulnérabilité a été identifiée liée au
```
Cette configuration a conduit à un problème de sécurité potentiel. Plus précisément, le fichier `skin/popup.html`, qui est rendu lors de l'interaction avec l'icône PrivacyBadger dans le navigateur, pourrait être intégré dans un `iframe`. Cette intégration pourrait être exploitée pour tromper les utilisateurs en les incitant à cliquer involontairement sur "Désactiver PrivacyBadger pour ce site Web". Une telle action compromettrait la vie privée de l'utilisateur en désactivant la protection PrivacyBadger et en soumettant potentiellement l'utilisateur à un suivi accru. Une démonstration visuelle de cette exploitation peut être vue dans un exemple vidéo de ClickJacking fourni à [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm).
Pour remédier à cette vulnérabilité, une solution simple a été mise en œuvre : la suppression de `/skin/*` de la liste des `web_accessible_resources`. Ce changement a efficacement atténué le risque en veillant à ce que le contenu du répertoire `skin/` ne puisse pas être accessible ou manipulé via des ressources accessibles sur le web.
Pour remédier à cette vulnérabilité, une solution simple a été mise en œuvre : la suppression de `/skin/*` de la liste des `web_accessible_resources`. Ce changement a efficacement atténué le risque en garantissant que le contenu du répertoire `skin/` ne pouvait pas être accessible ou manipulé via des ressources accessibles sur le web.
La solution était simple : **supprimer `/skin/*` des `web_accessible_resources`**.