# BrowExt - ClickJacking
Aprenda hacking no AWS do zero ao herói comhtARTE (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 comhtARTE (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).