Что делает X-XSS-Protection?

X-XSS-Protection - это заголовок безопасности, существующий с 4 версии Google Chrome. Он был разработан для включения инструмента, проверяющего содержимое веб-сайта на наличие межсайтовых скриптов. Все основные браузеры прекратили поддержку заголовка, так как он привел к появлению недостатков безопасности. Настоятельно рекомендуется не устанавливать заголовок вообще, а вместо этого настроить строгую политику безопасности контента.

Совет: Межсайтовый сценарий обычно сокращается до аббревиатуры «XSS».

Отраженный межсайтовый скриптинг - это класс XSS-уязвимости, при котором эксплойт напрямую закодирован в URL-адресе и влияет только на пользователя, который посещает URL-адрес. Отраженный XSS представляет собой риск, когда на веб-странице отображаются данные из URL-адреса. Например, если интернет-магазин позволяет вам искать продукты, у него вполне может быть URL-адрес, который выглядит так: website.com/search? term = gift »и добавьте на страницу слово« gift ». Проблема начинается, если кто-то помещает JavaScript в URL-адрес, если он не очищен должным образом, этот JavaScript может быть выполнен, а не выведен на экран, как это должно быть. Если злоумышленник сможет обманом заставить пользователя щелкнуть ссылку с таким типом полезной нагрузки XSS, он сможет выполнять такие действия, как захват своего сеанса.

X-XSS-Protection был предназначен для обнаружения и предотвращения этого типа атак. К сожалению, со временем в работе системы был обнаружен ряд обходных путей и даже уязвимостей. Эти уязвимости означали, что реализация заголовка X-XSS-Protection привела бы к уязвимости межсайтового скриптинга на защищенном в остальном веб-сайте.

Чтобы защититься от этого, понимая, что заголовок Content Security Policy, как правило, сокращено до «CSP», включает функциональные возможности для его замены, разработчики браузеров решили убрать характерная черта. Большинство браузеров, включая Chrome, Opera и Edge, либо лишили поддержки, либо, в случае Firefox, никогда ее не реализовывали. Веб-сайтам рекомендуется отключить заголовок, чтобы защитить тех пользователей, которые все еще используют устаревшие браузеры с включенной функцией.

X-XSS-Protection можно заменить настройкой «unsafe-inline» в заголовке CSP. Чтобы включить этот параметр, может потребоваться много работы в зависимости от веб-сайта, поскольку это означает, что весь JavaScript должен находиться во внешних сценариях и не может быть напрямую включен в HTML.