Los encabezados HTTP son un tipo de metadatos enviados con solicitudes y respuestas web, la información que brindan puede ser importante o simplemente informativa. Los encabezados de seguridad son un subconjunto de los "encabezados de respuesta" que puede configurar el servidor web; son una de las características que pueden ayudar a abordar una serie de problemas de seguridad. Uno de los encabezados de seguridad, llamado "X-Frame-Options" está diseñado para prevenir ataques de click-jacking.
Click-Jacking
El clic-jacking, también conocido como "Reparación de la interfaz de usuario", es un problema en el que un atacante puede engañar a un usuario para que haga clic en algo que no es lo que parece. Para los sitios web, esto se hace superponiendo un sitio web transparente sobre uno visible. En este tipo de ataque, el usuario piensa que está interactuando con el sitio web visible, pero en realidad, sin saberlo, está afectando al sitio web transparente.
Por ejemplo, un atacante podría configurar un sitio web que haga probable que un usuario haga clic en un botón, tal vez un botón de reproducción de un video. En una capa transparente sobre la parte superior de esa página web hay una segunda página web, como la página web para eliminar su cuenta de Facebook con el botón "Eliminar cuenta" ubicado directamente sobre el botón de reproducción. En este escenario, cuando el usuario intenta hacer clic en reproducir, en realidad hace clic en el botón para eliminar su cuenta de Facebook.
El click-jacking se basa en la capacidad de mostrar el sitio web de destino en la parte superior del sitio web ficticio, a través de un proceso llamado "Framing". El encuadre utiliza el elemento HTML "iframe" que puede cargar una página web separada completa dentro de otra página. Al cargar la página web de destino en un marco, colocarla con cuidado y volverla transparente, la víctima no se dará cuenta por completo de que está siendo engañada para que realice una acción.
Opciones de X-Frame
El encabezado de respuesta HTTP “X-Frame-Options” es una característica opcional que se puede configurar para sitios web en los archivos de configuración del servidor. X-Frame-Options evita que las páginas web se carguen en iframes, lo que evita que se superpongan sobre otro sitio web. El navegador de la víctima realmente aplica el control de seguridad, esto se debe a que todos los navegadores respetan el encabezado X-Frame-Options y se negarán a cargar páginas web con el encabezado configurado en un marco.
El encabezado permite al propietario del sitio web configurar qué tan restrictiva es la configuración. Hay dos configuraciones: "X-Frame-Options: DENY" evita que una página web protegida sea enmarcada. La otra opción, “X-Frame-Options: SAMEORIGIN”, permite enmarcar páginas web protegidas, solo si la página que carga el marco tiene el mismo nombre de dominio. En este caso, puede cargar un marco en su propio sitio web, pero nadie más puede cargarlo en el suyo.