# Clickjacking
Aprende hacking en AWS desde cero hasta experto conhtARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
\
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias **más avanzadas** del mundo.\
Obtén acceso hoy:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## ¿Qué es el Clickjacking?
En un ataque de clickjacking, un **usuario** es **engañado** para **hacer clic** en un **elemento** en una página web que está **invisible** o disfrazado como un elemento diferente. Esta manipulación puede llevar a consecuencias no deseadas para el usuario, como la descarga de malware, redirección a páginas web maliciosas, suministro de credenciales o información sensible, transferencias de dinero o la compra en línea de productos.
### Truco de prellenado de formularios
A veces es posible **rellenar el valor de campos de un formulario utilizando parámetros GET al cargar una página**. Un atacante puede abusar de este comportamiento para rellenar un formulario con datos arbitrarios y enviar la carga de clickjacking para que el usuario presione el botón de enviar.
### Rellenar formulario con Arrastrar y Soltar
Si necesitas que el usuario **llene un formulario** pero no quieres pedirle directamente que escriba información específica (como el correo electrónico o una contraseña específica que conoces), simplemente puedes pedirle que **Arrastre y Suelte** algo que escribirá tus datos controlados como en [**este ejemplo**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
### Carga Básica de Payload
```markup
Click me
```
### Carga útil de múltiples pasos
```markup
Click me first
Click me next
```
### Carga útil de Arrastrar y Soltar + Click
```markup
.
1. Click and press delete button
3.Click me
2.DRAG ME TO THE RED BOX
```
### XSS + Clickjacking
Si has identificado un ataque de **XSS que requiere que un usuario haga clic** en algún elemento para **activar** el XSS y la página es **vulnerable al clickjacking**, podrías abusar de ello para engañar al usuario y hacer que haga clic en el botón/enlace.
Ejemplo:
_Encontraste un **auto XSS** en algunos detalles privados de la cuenta (detalles que **solo tú puedes configurar y leer**). La página con el **formulario** para establecer estos detalles es **vulnerable** al **clickjacking** y puedes **prellenar** el **formulario** con los parámetros GET._
__Un atacante podría preparar un ataque de **clickjacking** a esa página **prellenando** el **formulario** con el **payload XSS** y **engañando** al **usuario** para que **envíe** el formulario. Entonces, **cuando se envíe el formulario** y los valores se modifiquen, el **usuario ejecutará el XSS**.
## Estrategias para Mitigar el Clickjacking
### Defensas del Lado del Cliente
Los scripts ejecutados en el lado del cliente pueden realizar acciones para prevenir el Clickjacking:
* Asegurarse de que la ventana de la aplicación sea la ventana principal o superior.
* Hacer que todos los marcos sean visibles.
* Prevenir clics en marcos invisibles.
* Detectar y alertar a los usuarios sobre posibles intentos de Clickjacking.
Sin embargo, estos scripts de rompimiento de marcos pueden ser eludidos:
* **Configuraciones de Seguridad de los Navegadores:** Algunos navegadores pueden bloquear estos scripts según sus configuraciones de seguridad o falta de soporte de JavaScript.
* **Atributo `sandbox` del iframe de HTML5:** Un atacante puede neutralizar los scripts de rompimiento de marcos configurando el atributo `sandbox` con los valores `allow-forms` o `allow-scripts` sin `allow-top-navigation`. Esto evita que el iframe verifique si es la ventana superior, por ejemplo.
```html
```
### Defensas del Lado del Servidor
#### X-Frame-Options
El encabezado de respuesta HTTP **`X-Frame-Options`** informa a los navegadores sobre la legitimidad de renderizar una página en un `` o `