Skip to main content
HighProtected by PowerWAF

Ataque de Clickjacking

CategoríaCross-SiteOWASPA01:2021 – Control de Acceso RotoPrimera aparición2008Tiempo de lectura6 minVerificado2026-03-03
DEFINICIÓN

El clickjacking (también conocido como UI redressing) es un ataque que engaña a los usuarios para que hagan clic en algo diferente a lo que perciben. Al superponer un iframe transparente de un sitio legítimo sobre una página maliciosa, el atacante captura clics destinados a elementos visibles pero realmente dirigidos a controles ocultos — permitiendo acciones no autorizadas como cambiar la configuración de la cuenta, dar 'Me gusta' a contenido, habilitar una cámara web o aprobar transacciones financieras.

Cómo Funciona Ataque de Clickjacking

El clickjacking explota la capacidad del navegador para superponer contenido mediante iframes y CSS. El atacante crea una página con un iframe invisible del sitio objetivo posicionado de manera que los clics de la víctima interactúen con los botones y enlaces del sitio oculto en lugar de los elementos visibles de la página.

1

Crear una página señuelo

El atacante construye una página web atractiva con una llamada a la acción visible — como un botón de 'Haz clic para reclamar tu premio', un juego o un botón de reproducción de video — diseñada para atraer a la víctima a hacer clic en un área específica.

2

Incrustar el sitio objetivo en un iframe oculto

El sitio legítimo objetivo (ej., configuración de cuenta bancaria, acciones en redes sociales) se carga en un iframe posicionado sobre la página señuelo con CSS opacity: 0 u opacity: 0.0001, haciéndolo completamente invisible.

3

Alinear la acción oculta con el cebo visible

Usando posicionamiento CSS (top, left, z-index), el atacante alinea precisamente un botón de acción crítica en el sitio oculto (ej., 'Confirmar transferencia', 'Eliminar cuenta') con el botón de cebo visible en la página señuelo.

4

La víctima hace clic en el elemento oculto

Cuando la víctima hace clic en el botón visible, en realidad hace clic en el botón de acción del iframe oculto. Como están autenticados en el sitio objetivo, la acción se ejecuta con sus credenciales. La víctima no ve nada inusual.

Ejemplos Reales

2010

Ataques de 'Likejacking' en Facebook

Los atacantes usaron clickjacking para engañar a los usuarios de Facebook para que dieran 'Me gusta' a páginas sin su conocimiento. El ataque se propagó viralmente ya que cada 'Me gusta' aparecía en los feeds de los amigos de la víctima, dirigiendo tráfico a sitios de estafas. Afectó a millones de usuarios.

2011

Secuestro de cámara web con Adobe Flash

Investigadores demostraron un ataque de clickjacking en el administrador de configuración de Adobe Flash que podía habilitar la cámara web y el micrófono de un usuario sin su conocimiento, engañándolos para que hicieran clic a través de diálogos de permisos de Flash ocultos.

2009

Gusano en Twitter mediante clickjacking

Un gusano de clickjacking se propagó por Twitter engañando a los usuarios para que hicieran clic en un botón oculto de 'Tweet'. Cada víctima publicaba sin saberlo un enlace que propagaba el ataque aún más, creando una cadena auto-propagante.

Impacto y Evaluación de Riesgo

El clickjacking puede obligar a los usuarios a realizar cualquier acción que estén autorizados a hacer en el sitio objetivo: cambiar contraseñas, realizar compras, habilitar permisos del dispositivo, transferir fondos o eliminar cuentas. Combinado con ingeniería social, los ataques de clickjacking logran altas tasas de éxito porque los usuarios creen que están interactuando con el contenido visible (benigno). Las variantes de múltiples clics pueden guiar a los usuarios a través de flujos de trabajo completos de manera invisible.

Cómo Detectar Ataque de Clickjacking

Probar las aplicaciones web para verificar si pueden incrustarse en iframes — si su sitio puede cargarse en un iframe en un dominio de terceros, es vulnerable. Monitorear los encabezados X-Frame-Options o CSP frame-ancestors en las respuestas HTTP. Usar herramientas de escaneo automatizado para detectar la ausencia de protecciones contra framing. La detección de frame-busting del lado del cliente puede identificar si su página está siendo enmarcada.

Cómo Prevenir Ataque de Clickjacking

Configurar el encabezado X-Frame-Options a DENY o SAMEORIGIN en todas las páginas que realizan acciones sensibles. Implementar Content-Security-Policy con la directiva frame-ancestors para un control granular (ej., frame-ancestors 'self'). Usar el atributo SameSite en las cookies para prevenir que se envíen cuando la página está enmarcada cross-origin. Implementar confirmación de UI para acciones sensibles (ej., 're-ingrese su contraseña para confirmar'). Desplegar JavaScript de frame-busting como medida de defensa en profundidad, aunque los encabezados HTTP son la protección principal.

Ejemplos de Código

Clickjacking Attack Example
<!-- Attacker's page with invisible iframe overlay -->
<style>
iframe {
position: absolute;
top: 0; left: 0;
width: 500px;
height: 400px;
opacity: 0.0001; /* Invisible but clickable */
z-index: 10;
}
.bait-button {
position: absolute;
top: 185px; left: 120px; /* Aligned with target's action button */
padding: 20px 40px;
font-size: 24px;
cursor: pointer;
}
</style>

<button class="bait-button">Click to win a prize!</button>
<iframe src="https://target-bank.com/settings/delete-account"></iframe>
Secure: HTTP Headers Configuration
# Nginx — prevent framing
add_header X-Frame-Options "DENY" always;
add_header Content-Security-Policy "frame-ancestors 'none'" always;

# Apache — prevent framing
Header always set X-Frame-Options "DENY"
Header always set Content-Security-Policy "frame-ancestors 'none'"

# Express.js
app.use((req, res, next) => {
res.setHeader('X-Frame-Options', 'DENY');
res.setHeader('Content-Security-Policy', "frame-ancestors 'none'");
next();
});

PowerWAF bloquea automáticamente Ataque de Clickjacking antes de que llegue a tu servidor.

Implementa en minutos. Sin cambios de código. Plan gratuito disponible.

Los cupos del plan gratuito son limitados

Preguntas Frecuentes

Ambos engañan a los usuarios para que realicen acciones no deseadas, pero a través de mecanismos diferentes. CSRF falsifica solicitudes directamente (sin interacción del usuario con la UI del sitio objetivo). El clickjacking requiere que el usuario haga clic físicamente en los elementos reales de la UI del sitio objetivo, que están visualmente ocultos. El clickjacking puede evadir los tokens CSRF porque los clics reales ocurren en la página real.
X-Frame-Options con DENY previene que su página sea incrustada en cualquier iframe. SAMEORIGIN permite el enmarcado solo por el mismo dominio. Para un control más flexible, use la directiva CSP frame-ancestors, que admite múltiples orígenes permitidos y es el enfoque moderno recomendado.
Sí. El clickjacking móvil (a veces llamado tapjacking) usa la misma técnica adaptada para interfaces táctiles. Las superposiciones transparentes pueden capturar toques destinados a elementos visibles, y la pantalla más pequeña facilita el posicionamiento preciso para los atacantes.