Защита Internet Explorer 8 от XSS - Использование расщепления HTTP-ответа
ОГЛАВЛЕНИЕ
Использование расщепления HTTP-ответа
Для тех разработчиков Web-приложений, которые захотят отключить фильтр XSS на своих сайтах, в Internet Explorer подобная возможность предусмотрена путем установки HTTP-заголовка «X-XSS-Protection: 0» в возвращаемом Web-сервером ответе.
Однако это можно использовать для обхода фильтра XSS. Такая возможность возникает, когда приложение уязвимо для XSS и для уязвимости типа «Расщепление HTTP-ответа» (HTTP Response Splitting). Используя расщепление, злоумышленник может внедрить дополнительный HTTP-заголовок, который будет отключать фильтр XSS, и эксплуатировать уязвимость (см. рис. 8).
Рис. 8 Эксплуатация Cross-Site Scripting совместно с HTTP Response Splitting
Не смотря на то, что подобная ситуация встречается не часто, ее тоже необходимо учитывать. По статистике Web Application Security Consortsium, ручной анализ позволяет идентифицировать HTTP Response Splitting в 7,75% всех приложений.
Заключение
Исследование механизма противодействия атакам «Межсайтовое выполнение сценариев», встроенного в браузер Internet Explorer 8b2, показало, что подход защиты от Cross-Site Scripting на стороне клиента может быть достаточно эффективным в борьбе с отраженным вариантом XSS. К сожалению, решить проблему с сохраненным типом атаки лишь на стороне клиента в настоящее время не представляется возможным (отключение Javascript и прочих активных объектов – это не решение проблемы), поэтому это тема лежит за рамками поддерживаемого функционала XSS-фильтра в IE8. Кроме того, не поддерживается фильтрация некоторых DOM-based атак, которые весьма актуальны в современном мире AJAX и Web 2.0. Неплохим расширением функций фильтра была бы фильтрация атак типа HTTP Response Splitting, что позволило бы избежать некоторых методов обхода фильтра.
Сводная таблица возможностей Internet Explorer 8 в части фильтрации XSS приведена ниже.
Таблица 1. Фильтрация XSS в Internet Explorer 8 beta 2
Сохраненный вариант | Нет |
DOM-Based | Частично |
Отраженный вариант | |
В теге | Нет |
В Javascript | Нет |
В HTML | Да |
В параметре тега | Да |
Учитывая, что отраженный вариант Межсайтового выполнения сценариев является самым распространенным типом уязвимостей этого типа, возможности Internet Explorer позволяют значительно снизить количество успешных атак с использованием данного вектора.
Дмитрий Евтеев, эксперт по информационной безопасности, MCSE:Security, MCTS
Сергей Гордейчик, руководитель отдела консалтинга и аудита, MCSE, CWNA, MCT, MVP Enterprise Security, CISSP