# BrowExt - ClickJacking
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! Outras formas de apoiar o HackTricks: * Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Participe do grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou do grupo [**telegram**](https://t.me/peass) ou **siga**-me no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) no github.
## Informações Básicas Esta página vai explorar uma vulnerabilidade de ClickJacking em uma extensão de navegador.\ Se você não sabe o que é ClickJacking, confira: {% content-ref url="../clickjacking.md" %} [clickjacking.md](../clickjacking.md) {% endcontent-ref %} Extensões contêm o arquivo **`manifest.json`** e esse arquivo JSON tem um campo `web_accessible_resources`. Veja o que [a documentação do Chrome](https://developer.chrome.com/extensions/manifest/web_accessible_resources) diz sobre isso: > Esses recursos estariam então disponíveis em uma página da web através da URL **`chrome-extension://[ID DO PACOTE]/[CAMINHO]`**, que pode ser gerada com o método **`extension.getURL`**. Recursos na lista de permissões são servidos com cabeçalhos CORS apropriados, então eles estão disponíveis através de mecanismos como XHR.[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1) Além de serem acessíveis pela web, os recursos no **`web_accessible_resources`** funcionam com a autoridade ambiente da extensão: eles podem alterar o estado, carregar outros recursos e modificar o navegador de certas maneiras. Se um documento em `web_accessible_resources` pode realizar qualquer comportamento interessante, um atacante pode incorporá-lo em uma página da web e enganar visitantes para ativá-lo. ## Exemplo do PrivacyBadger Foi descoberto que na extensão PrivacyBadger, os conteúdos do diretório `skin/` eram `web_accessible_resources`: ```json "web_accessible_resources": [ "skin/*", "icons/*" ] ``` Ao carregar `skin/popup.html`, o documento que é renderizado quando você clica no ícone do PrivacyBadger no navegador, **em um iframe poderíamos enganar o usuário a clicar em "Desativar PrivacyBadger para este site"**, expondo o usuário a rastreamento adicional e comprometendo a função do PrivacyBadger. **Confira o exemplo de vídeo de ClickJacking em** [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm) A correção foi simples: **remover `/skin/*` dos `web_accessible_resources`**. ### PoC ```html

Click the button

``` ## Exemplo Metamask Um [**post de blog sobre um ClickJacking no Metamask pode ser encontrado aqui**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9). Neste caso, o Metamask corrigiu a vulnerabilidade verificando se o protocolo usado para acessá-lo era **`https:`** ou **`http:`** (e não **`chrome:`**, por exemplo):
**Outro ClickJacking corrigido** na extensão do Metamask foi que os usuários podiam **Clicar para adicionar à lista branca** quando uma página era suspeita de ser phishing por causa de `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`. Como essa página era vulnerável a Clickjacking, um atacante poderia abusar dela mostrando algo normal para fazer a vítima clicar em adicionar à lista branca sem perceber, e depois voltar para a página de phishing que estaria na lista branca. ## Exemplo Steam Inventory Helper Verifique a seguinte página para entender como um **XSS** em uma extensão de navegador foi combinado com uma vulnerabilidade de **ClickJacking**: {% content-ref url="browext-xss-example.md" %} [browext-xss-example.md](browext-xss-example.md) {% endcontent-ref %} ## Referências * [https://blog.lizzie.io/clickjacking-privacy-badger.html](https://blog.lizzie.io/clickjacking-privacy-badger.html)
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! Outras formas de apoiar o HackTricks: * Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).