Vulnerabilidad Clickjacking
www.onlinetis.com
La vulnerabilidad Clickjacking, también conocida como "secuestro de clics", es una técnica maliciosa en la que un atacante engaña a un usuario para que haga clic en un elemento invisible. Esto se logra superponiendo una página web transparente o parcialmente transparente sobre una página web legítima. El usuario cree que está interactuando con la página visible, pero en realidad está haciendo clic en la página oculta, lo que desencadena una acción no deseada.
¿Cómo funciona un ataque de Clickjacking?
El ataque explota la confianza del usuario en el contenido que ve y la forma en que los navegadores web manejan las capas de páginas. Aquí tienes un ejemplo de cómo podría ocurrir:
Página legítima: Un usuario ha iniciado sesión en su cuenta de redes sociales y está navegando.
Página maliciosa: Un atacante crea una página web fraudulenta que contiene un botón atractivo, como "Gana un premio gratis".
Superposición invisible: El atacante carga la página legítima de la red social en un
<iframe>
invisible. Este<iframe>
se superpone exactamente sobre el botón de "Me gusta" o "Seguir" de la página de la red social.El engaño: El usuario visita la página maliciosa y ve el botón de "Gana un premio gratis". Al hacer clic en él, en realidad está haciendo clic en el botón de "Me gusta" invisible de la página de la red social.
Resultado: La acción no deseada se ejecuta. El usuario, sin saberlo, ha hecho clic en "Me gusta" en una publicación o página que no quería, o incluso ha realizado una acción más seria como una transferencia de dinero.
¿Cómo se previene?
La principal forma de defenderse del Clickjacking es evitando que las páginas web puedan ser cargadas en un <iframe>
o en otras etiquetas de superposición. Las soluciones más comunes son:
X-Frame-Options: Un encabezado de respuesta HTTP que le dice al navegador si la página puede ser mostrada en un
<iframe>
. Los valores más comunes son:DENY
: La página no puede ser mostrada en un<iframe>
en ninguna otra página.SAMEORIGIN
: La página solo puede ser mostrada en un<iframe>
si la página que la contiene es del mismo dominio.
Content Security Policy (CSP): Una política de seguridad más moderna y flexible. CSP permite especificar con mayor detalle qué recursos puede cargar la página. La directiva
frame-ancestors
puede usarse para controlar qué sitios pueden incrustar la página.Frame Busting: Código JavaScript que se ejecuta en la página para detectar si está siendo cargada dentro de un
<iframe>
y, en caso afirmativo, romper el frame para que se muestre como una página completa. Sin embargo, esta técnica es menos fiable y puede ser eludida.