Saltar a contenido

Index

Configuración de encabezado HTTP insegura: X-Frame-Options

Descripción

El campo de encabezado HTTP X-Frame-Options indica una política que especifica si el navegador debe renderizar el recurso transmitido dentro de un <frame> o <iframe>. Los servidores pueden declarar esta política en el encabezado de sus respuestas HTTP para prevenir ataques de clickjacking, asegurando que su contenido no se incruste en otras páginas o marcos.

Recomendación

  • Enviar el encabezado X-Frame-Options adecuado en las respuestas HTTP para indicar al navegador que no permita el enmarcado desde otros dominios.

    • X-Frame-Options: DENY: Deniega por completo la carga en un <frame> o <iframe>.
    • X-Frame-Options: SAMEORIGIN: Solo permite la carga si el sitio que lo solicita tiene el mismo origen (Same-Origin).
    • X-Frame-Options: ALLOW-FROM URL: Otorga a una URL específica el permiso para cargarse en un <iframe>. Sin embargo, preste atención a esto; no todos los navegadores lo soportan.
  • Implementar código defensivo en la interfaz de usuario para garantizar que el marco actual sea la ventana de nivel superior (top-level window).

if (window !== window.top) {
    // Code is being executed within a frame
    // You may choose to handle this situation appropriately,
    // such as by redirecting the user to another page
    // or displaying a warning message.
    window.top.location.href = "about:blank"; 
}

Enlaces

Estándares

  • OWASP_ASVS_L1:
    • V14_4_7
  • OWASP_ASVS_L2:
    • V14_4_7
  • OWASP_ASVS_L3:
    • V14_4_7
  • PCI_STANDARDS:
    • REQ_2_2
    • REQ_6_2
    • REQ_6_3
    • REQ_6_4
    • REQ_11_3
  • HIPAA_CONTROLS:
    • SECURITY212
    • SECURITY213