* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Clickjacking é um ataque que **enganar** um **usuário** para **clicar** em um **elemento** da página da web que é **invisível** ou disfarçado como outro elemento. Isso pode fazer com que os usuários baixem malware sem saber, visitem páginas da web maliciosas, forneçam credenciais ou informações confidenciais, transfiram dinheiro ou comprem produtos online. (De [aqui](https://www.imperva.com/learn/application-security/clickjacking/)).
À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.
Se você precisa que o usuário **preencha um formulário** mas não quer pedir diretamente que ele escreva algumas informações específicas (como o e-mail e/ou senha específica que você conhece), você pode simplesmente pedir que ele **arraste e solte** algo que escreverá seus dados controlados como em [**este exemplo**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
O ataque de clickjacking multistep é uma variação do ataque de clickjacking padrão, onde o atacante usa vários cliques em diferentes elementos da página para realizar a ação maliciosa. Isso é feito para evitar a detecção de ferramentas de segurança que procuram por cliques em um único elemento.
O ataque multistep é realizado em várias etapas, onde cada etapa é um clique em um elemento diferente da página. Cada clique é inofensivo por si só, mas quando combinados, eles realizam a ação maliciosa desejada pelo atacante.
Por exemplo, um atacante pode criar um botão invisível em uma página da web que, quando clicado, redireciona o usuário para uma página maliciosa. Para evitar a detecção, o atacante pode dividir o clique em dois ou mais cliques em diferentes elementos da página. O primeiro clique pode ser em um botão inofensivo, enquanto o segundo clique pode ser no botão invisível que redireciona o usuário para a página maliciosa.
Os ataques multistep podem ser mais difíceis de detectar e prevenir do que os ataques de clickjacking padrão, pois envolvem vários cliques em diferentes elementos da página. No entanto, as mesmas técnicas de prevenção de clickjacking padrão podem ser usadas para prevenir ataques multistep.
Se você identificou um ataque **XSS que requer que o usuário clique** em algum elemento para **disparar** 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** a **Clickjacking** e você pode **pré-preencher** o **formulário** com os parâmetros GET._\
\_\_Um atacante poderia preparar um ataque de **Clickjacking** para essa página **pré-preenchendo** o **formulário** com a **carga XSS** e **enganando** o **usuário** a **enviar** o formulário. Então, **quando o formulário é enviado** e os valores são modificados, o **usuário executará o XSS**.
Como os frame busters são JavaScript, as configurações de segurança do navegador podem impedir sua operação ou, de fato, o navegador pode nem mesmo suportar JavaScript. Uma solução eficaz para o atacante contornar os frame busters é usar o **atributo HTML5 iframe `sandbox`**. Quando isso é definido com os valores `allow-forms` ou `allow-scripts` e o valor `allow-top-navigation` é omitido, o script do frame buster pode ser neutralizado, pois o iframe não pode verificar se é ou não a janela superior:
Tanto os valores `allow-forms` quanto `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 quadro enquanto permite a funcionalidade dentro do site direcionado.
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, verifique o console do navegador, ele pode informar quais outros comportamentos você precisa permitir.
O **cabeçalho de resposta HTTP `X-Frame-Options`** pode ser usado para indicar se um navegador deve ou não ser **permitido** a renderizar uma página em um `<frame>` ou `<iframe>`. Os sites podem usar isso para evitar ataques de Clickjacking, garantindo que **seu conteúdo não seja incorporado em outros sites**. Defina o cabeçalho **`X-Frame-Options`** para todas as respostas que contenham conteúdo HTML. Os valores possíveis são:
A **proteção recomendada contra Clickjacking** é incorporar a diretiva **`frame-ancestors`** na Política de Segurança de Conteúdo da aplicação.\
A diretiva **`frame-ancestors 'none'`** é semelhante em comportamento à diretiva **X-Frame-Options `deny`** (_Ninguém pode enquadrar a página_).\
A diretiva **`frame-ancestors 'self'`** é amplamente equivalente à diretiva **X-Frame-Options `sameorigin`** (_apenas o site atual pode enquadrá-lo_).\
A diretiva **`frame-ancestors trusted.com`** é amplamente equivalente à diretiva **X-Frame-Options**`allow-from` (_apenas o site confiável pode enquadrá-lo_).
* **Suporte do navegador:** os ancestrais de quadro CSP não são suportados por todos os principais navegadores ainda.
* **X-Frame-Options tem prioridade:** [Seção "Relação com X-Frame-Options" da especificação CSP](https://w3c.github.io/webappsec/specs/content-security-policy/#frame-ancestors-and-frame-options) diz: "_Se um recurso for entregue com uma política que inclua uma diretiva chamada frame-ancestors e cuja disposição seja "impor", então o cabeçalho X-Frame-Options DEVE ser ignorado_", mas o Chrome 40 e o Firefox 35 ignoram a diretiva frame-ancestors e seguem o cabeçalho X-Frame-Options em vez disso.
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me no****Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).