¿Qué hace la protección X-XSS?

X-XSS-Protection era un encabezado de seguridad que existe desde la versión 4 de Google Chrome. Fue diseñado para habilitar una herramienta que verificara el contenido del sitio web en busca de secuencias de comandos entre sitios reflejadas. Todos los principales navegadores ahora han retirado el soporte para el encabezado, ya que terminó presentando fallas de seguridad. Se recomienda encarecidamente que no establezca el encabezado en absoluto y, en su lugar, configure una política de seguridad de contenido sólida.

Sugerencia: Cross-Site Scripting generalmente se abrevia al acrónimo "XSS".

El scripting reflejado entre sitios es una clase de vulnerabilidad XSS en la que el exploit se codifica directamente en la URL y solo afecta al usuario que visita la URL. XSS reflejado es un riesgo cuando la página web muestra datos de la URL. Por ejemplo, si una tienda web le permite buscar productos, es muy posible que tenga una URL similar a esta: “¿sitio web.com/search? término = regalo ”e incluya la palabra“ regalo ”en la página. El problema comienza si alguien coloca JavaScript en la URL, si no se desinfecta adecuadamente, este JavaScript podría ejecutarse en lugar de imprimirse en la pantalla como debería ser. Si un atacante pudiera engañar a un usuario para que haga clic en un enlace con este tipo de carga útil XSS, es posible que pueda hacer cosas como hacerse cargo de su sesión.

X-XSS-Protection estaba destinado a detectar y prevenir este tipo de ataque. Desafortunadamente, con el tiempo se encontraron una serie de omisiones e incluso vulnerabilidades en la forma en que funcionaba el sistema. Estas vulnerabilidades significaron que la implementación del encabezado X-XSS-Protection introduciría una vulnerabilidad de secuencias de comandos entre sitios en un sitio web que de otro modo sería seguro.

Para protegerse contra esto, en el entendimiento de que el encabezado de la Política de seguridad del contenido, generalmente abreviado a "CSP", incluye funcionalidad para reemplazarlo, los desarrolladores de navegadores decidieron retirar el característica. La mayoría de los navegadores, incluidos Chrome, Opera y Edge, han eliminado el soporte o, en el caso de Firefox, nunca lo implementaron. Se recomienda que los sitios web inhabiliten el encabezado para proteger a los usuarios que aún usan navegadores heredados con la función habilitada.

X-XSS-Protection se puede reemplazar con la configuración "insegura en línea" en el encabezado CSP. Ser capaz de habilitar esta configuración puede requerir mucho trabajo según el sitio web, ya que significa que todo JavaScript debe estar en secuencias de comandos externas y no se puede incluir en el HTML directamente.