Обход XSS-блокираторов посредством скрипт-гаджетов

Обход XSS-блокираторов посредством скрипт-гаджетов

XSS (Cross-Site Scripting, межсайтовый скриптинг) — хроническая болезнь любого веб-софта. На протяжении долгих лет предпринимаются все новые и новые попытки победить XSS. Большинство этих попыток сосредоточены на контроле тегов, в которых можно запускать скрипты, и на контроле обработчиков событий. Политика HTML-дезинфекции, к примеру, нацелена на удаление потенциально опасных тегов и атрибутов. Другая политика, CSP (Content Security Policy, политика защиты контента), запрещает использовать встроенные обработчики событий и ограничивает допустимые к использованию скрипты белым списком.

В этом докладе представлена новая техника взлома веб-софта, которая позволяет злоумышленнику обходить большинство XSS-блокираторов. Суть этой техники — в использовании так называемых скрипт-гаджетов. Скрипт-гаджет — это законный фрагмент JS-кода на веб-странице, который при помощи CSS-селекторов считывает содержимое DOM-элементов и затем обрабатывает их таким образом, чтобы запустился вредоносный скрипт.

Обход XSS-блокираторов посредством скрипт-гаджетов

Для злоупотребления скрипт-гаджетом злоумышленник делает на странице-жертве JS-инъекцию, которая выглядит как вполне законный JS-код, но может «ошибочно» увеличивать привилегии доступа к обрабатываемому DOM-элементу. Впоследствии скрипт-гаджет запускает находящиеся под контролем злоумышленника скрипты. Поскольку первоначально имплантированный элемент выглядит доброкачественным, он легко проходит мимо XSS-блокираторов.

В предлагаемом докладе продемонстрировано, что скрипт-гаджеты присутствуют практически во всех современных JS-библиотеках, API и веб-софте. В докладе представлено несколько тематических исследований и реальные примеры из дикой природы, демонстрирующие, что подавляющее большинство ныне существующих методов противодействия XSS несостоятельны.

Полная версия доклада: Bypassing XSS Mitigations via Script Gadgets (PDF)

ВКонтакте
OK
Telegram
WhatsApp
Viber

Один комментарий

  1. xss

    Спасибо!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *