Translated ['src/pentesting-web/clickjacking.md'] to pt

This commit is contained in:
Translator 2025-01-06 10:28:48 +00:00
parent 8ec5bcdce4
commit 6838f9069a

View File

@ -15,7 +15,7 @@ Em um ataque de clickjacking, um **usuário** é **enganado** a **clicar** em um
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 apenas pedir que ele **Drag\&Drop** algo que escreverá seus dados controlados, como neste [**exemplo**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
### Carga Útil Básica
```markup
```css
<style>
iframe {
position:relative;
@ -35,7 +35,7 @@ z-index: 1;
<iframe src="https://vulnerable.com/email?email=asd@asd.asd"></iframe>
```
### Payload de Múltiplas Etapas
```markup
```css
<style>
iframe {
position:relative;
@ -59,7 +59,7 @@ left:210px;
<iframe src="https://vulnerable.net/account"></iframe>
```
### Drag\&Drop + Click payload
```markup
```css
<html>
<head>
<style>
@ -89,11 +89,20 @@ background: #F00;
```
### XSS + Clickjacking
Se você identificou um **ataque XSS que requer que um 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.\
Se você identificou um **ataque XSS que requer que um usuário clique** em algum elemento para **ativar** 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 **preencher** o **formulário** com os parâmetros GET.\
Um atacante poderia preparar um ataque de **Clickjacking** para essa página **preenchendo** o **formulário** com a **carga útil XSS** e **enganando** o **usuário** a **enviar** o formulário. Assim, **quando o formulário é enviado** e os valores são modificados, o **usuário executará o XSS**.
### DoubleClickjacking
Primeiramente [explicado neste post](https://securityaffairs.com/172572/hacking/doubleclickjacking-clickjacking-on-major-websites.html), essa técnica pediria à vítima para clicar duas vezes em um botão de uma página personalizada colocada em um local específico, e usar as diferenças de tempo entre os eventos mousedown e onclick para carregar a página da vítima durante o duplo clique, de modo que a **vítima realmente clique em um botão legítimo na página da vítima**.
Um exemplo pode ser visto neste vídeo: [https://www.youtube.com/watch?v=4rGvRRMrD18](https://www.youtube.com/watch?v=4rGvRRMrD18)
> [!WARNING]
> Esta técnica permite enganar o usuário a clicar em 1 lugar na página da vítima, contornando todas as proteções contra clickjacking. Portanto, o atacante precisa encontrar **ações sensíveis que podem ser realizadas com apenas 1 clique, como prompts de OAuth aceitando permissões**.
## Estratégias para Mitigar Clickjacking
### Defesas do Lado do Cliente
@ -115,7 +124,7 @@ id="victim_website"
src="https://victim-website.com"
sandbox="allow-forms allow-scripts"></iframe>
```
Os valores `allow-forms` e `allow-scripts` permitem ações dentro do iframe enquanto desabilitam a navegação de nível superior. Para garantir a funcionalidade pretendida do site alvo, permissões adicionais como `allow-same-origin` e `allow-modals` podem ser necessárias, dependendo do tipo de ataque. Mensagens do console do navegador podem orientar quais permissões permitir.
Os valores `allow-forms` e `allow-scripts` permitem ações dentro do iframe enquanto desabilitam a navegação de nível superior. Para garantir a funcionalidade pretendida do site alvo, permissões adicionais como `allow-same-origin` e `allow-modals` podem ser necessárias, dependendo do tipo de ataque. Mensagens do console do navegador podem guiar quais permissões permitir.
### Defesas do Lado do Servidor
@ -166,7 +175,7 @@ Esta política permite frames e workers da mesma origem (self) e https://trusted
**Notas de Uso:**
- Descontinuação: child-src está sendo descontinuado em favor de frame-src e worker-src.
- Depreciação: child-src está sendo descontinuado em favor de frame-src e worker-src.
- Comportamento de Fallback: Se frame-src estiver ausente, child-src é usado como fallback para frames. Se ambos estiverem ausentes, default-src é usado.
- Definição Estrita de Fonte: Inclua apenas fontes confiáveis nas diretrizes para evitar exploração.