Защита 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