Encabezados HTTP | Protección X-XSS

Los encabezados HTTP se utilizan para pasar información adicional con respuesta HTTP o requests HTTP. La protección X-XSS en el encabezado HTTP es una función que impide que una página se cargue cuando detecta ataques XSS. Esta característica se está volviendo innecesaria con el aumento de la política de seguridad de contenido de los sitios.

Ataques XSS: XSS significa Cross-site Scripting. En este ataque, el procedimiento consiste en eludir la política del mismo origen en aplicaciones web vulnerables. Cuando el código HTML se genera dinámicamente y la entrada del usuario no se desinfecta, solo entonces el atacante puede usar este ataque. En este ataque, un atacante puede insertar su propio código HTML en la página web que los navegadores no detectarán. Por su propio código HTML, el atacante puede acceder fácilmente a la base de datos y las cookies. Para detener este tipo de ataques, la protección X-XSS se utilizó en días anteriores.

Sintaxis: 

X-XSS-Protection: directive

Tipo de ataque XSS: los ataques de secuencias de comandos entre sitios se clasifican en general en dos categorías.  

  • Servidor XSS: en este tipo de ataque, el pirata informático adjunta datos que no son de confianza con la respuesta HTML. En este caso, la vulnerabilidad está presente en el extremo del servidor y el navegador simplemente ejecuta el script presente en la respuesta.
  • Cliente XSS: en este tipo de ataque XSS, se utiliza javascript inseguro para actualizar los datos DOM. Si agregamos código de javascript en DOM con una llamada de javascript, dicha llamada de javascript se denomina llamada de javascript insegura.

Directivas: En este archivo de encabezados hay cuatro directivas:  

  • 0: Deshabilita la Protección X-XSS.
  • 1: Es la directiva predeterminada y habilita la protección X-XSS.
  • 1; mode=block: Habilita la Protección X-XSS. Si el navegador detecta un ataque, no mostrará la página.
  • 1; report=<reporting-URI>: Habilita la Protección X-XSS. Si se detecta el ataque Cross-site Scripting, la página se desinfectará y se informará mediante la directiva report-uri.

Ejemplo 1: bloquee la carga de páginas cuando detecten ataques de secuencias de comandos entre sitios reflejados:  

HTML

// It enable the protection
X-XSS-Protection: 1; mode=block
   
// It disable the protection
X-XSS-Protection: 0

Ejemplo 2: Esto funcionará en un servidor apache. 

HTML

<IfModule mod_headers.c> 
  Header set X-XSS-Protection "1; mode=block" 
</IfModule>

Ejemplo 3: Esto funcionará en el servidor Nginx. 

html

add_header "X-XSS-Protection" "1; mode=block";

Navegadores compatibles: los navegadores compatibles con los encabezados HTTP X-XSS-Protection se enumeran a continuación: 

  • Google Chrome
  • explorador de Internet
  • Safari
  • Ópera

Publicación traducida automáticamente

Artículo escrito por aman neekhara y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *