El clickjacking (secuestro de clics) es un ataque que engaña al usuario para que haga clic en algo distinto de lo que ve, normalmente colocando una página web invisible sobre otra de aspecto inofensivo.
Cómo funciona el clickjacking
El atacante crea una página señuelo —un juego, un reproductor de vídeo o un botón de «Reclama tu premio»— y carga encima el sitio objetivo dentro de un <iframe> transparente. La víctima cree que pulsa el señuelo, pero el clic cae en un botón del sitio oculto, donde ya tiene la sesión iniciada gracias a sus cookies. La debilidad está catalogada como CWE-1021 (restricción indebida de capas de interfaz renderizadas).
El término lo acuñaron Jeremiah Grossman y Robert Hansen en 2008, cuando demostraron que una página de configuración oculta de Adobe Flash podía usarse para activar la cámara web y el micrófono de la víctima. Entre sus variantes figuran:
- Likejacking: hacer que el usuario dé «me gusta» o comparta contenido en redes sociales sin saberlo.
- Cursorjacking: mostrar un cursor falso desplazado respecto al real.
- Ataques de varios pasos que guían al usuario por varios clics o acciones de arrastrar y soltar.
Por qué es importante
Al igual que la falsificación de petición en sitios cruzados, el clickjacking hace que la víctima ejecute acciones con sus propios privilegios: cambiar la configuración de la cuenta, conceder permisos de OAuth o del navegador, transferir dinero o borrar datos. Como la víctima hace un clic real, las protecciones contra peticiones falsificadas, como los tokens CSRF, no sirven.
Cómo prevenirlo
- Enviar la directiva
Content-Security-Policy: frame-ancestors(CSP) para controlar quién puede incrustar sus páginas. - Usar la cabecera más antigua
X-Frame-Options: DENYoSAMEORIGIN(RFC 7034) para navegadores heredados. - Configurar las cookies de sesión con
SameSitepara que las páginas incrustadas no las reciban. - Pedir una nueva confirmación para las acciones sensibles.





