# 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
* **Junte-se ao grupo do** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo do [**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.
\
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** com as ferramentas comunitárias **mais avançadas** do mundo.\
Obtenha Acesso Hoje:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## O que é Clickjacking
Clickjacking é um ataque que **engana** um **usuário** para **clicar** em um **elemento** de uma página web que é **invisível** ou disfarçado como outro elemento. Isso pode fazer com que os usuários, sem saber, baixem malware, visitem páginas web maliciosas, forneçam credenciais ou informações sensíveis, transfiram dinheiro ou comprem produtos online. (De [aqui](https://www.imperva.com/learn/application-security/clickjacking/)).
### Truque de pré-preenchimento de formulários
Às vezes é possível **preencher o valor dos campos de um formulário usando parâmetros GET ao carregar uma página**. Um atacante pode abusar desse comportamento para preencher um formulário com dados arbitrários e enviar a carga de clickjacking para que o usuário pressione o botão Enviar.
### Preencher formulário com Arrastar e Soltar
Se você precisa que o usuário **preencha um formulário** mas não quer pedir diretamente para ele escrever algumas informações específicas (como o email ou uma senha específica que você conhece), você pode simplesmente pedir para ele **Arrastar e Soltar** algo que escreverá seus dados controlados como neste [**exemplo**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
### Payload Básico
```markup
Click me
```
### Payload Multistep
```markup
Click me first
Click me next
```
### Payload de Arrastar e Soltar + Clique
```markup
.
1. Click and press delete button
3.Click me
2.DRAG ME TO THE RED BOX
```
### XSS + Clickjacking
Se você identificou um **ataque XSS que requer que um usuário clique** em algum elemento para **acionar** o XSS e a página é **vulnerável a clickjacking**, você pode abusar disso para enganar o usuário a clicar no botão/link.\
Exemplo:\
_Você encontrou um **self XSS** em alguns detalhes privados da conta (detalhes que **apenas você pode definir e ler**). A página com o **formulário** para definir esses detalhes é **vulnerável** ao **Clickjacking** e você pode **preencher previamente** o **formulário** com os parâmetros GET._\
\_\_Um atacante poderia preparar um ataque de **Clickjacking** para essa página **preenchendo previamente** o **formulário** com o **payload XSS** e **enganando** o **usuário** a **Enviar** o formulário. Assim, **quando o formulário for enviado** e os valores forem modificados, o **usuário executará o XSS**.
## Como evitar Clickjacking
### Defesas do lado do cliente
É possível executar scripts do lado do cliente que realizam alguns ou todos os seguintes comportamentos para prevenir Clickjacking:
* verificar e garantir que a janela da aplicação atual seja a principal ou a janela superior,
* tornar todos os frames visíveis,
* prevenir cliques em frames invisíveis,
* interceptar e sinalizar possíveis ataques de clickjacking em um usuário.
#### Bypass
Como os frame busters são JavaScript, as configurações de segurança do navegador podem impedir sua operação ou mesmo o navegador pode não suportar JavaScript. Uma solução eficaz de ataque contra frame busters é usar o atributo `sandbox` do **HTML5 iframe**. Quando isso é definido com os valores `allow-forms` ou `allow-scripts` e o valor `allow-top-navigation` é omitido, então o script de frame buster pode ser neutralizado, pois o iframe não pode verificar se é ou não a janela superior:
```markup
```
```markdown
Os valores `allow-forms` e `allow-scripts` permitem as ações especificadas dentro do iframe, mas a navegação de nível superior é desativada. Isso inibe comportamentos de quebra de frame enquanto permite funcionalidade dentro do site alvo.
Dependendo do tipo de ataque de Clickjacking realizado **você também pode precisar permitir**: `allow-same-origin` e `allow-modals` ou [até mais](https://www.w3schools.com/tags/att_iframe_sandbox.asp). Ao preparar o ataque, basta verificar o console do navegador, ele pode informar quais outros comportamentos você precisa permitir.
### X-Frame-Options
O **cabeçalho de resposta HTTP `X-Frame-Options`** pode ser usado para indicar se um navegador deve ou não ser **permitido** para renderizar uma página em um `` ou `