# Clickjacking
Aprende hacking en AWS desde cero hasta experto con htARTE (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 `