Исследователь безопасности Мазин Ахмед (Mazin Ahmed) опубликовал результаты анализа способов обхода XSS-защиты в популярных межсетевых экранах уровня приложения (Web application firewalls, WAF).
Ахмед использовал несколько виртуальных машин, на которых запускались популярные браузеры Google Chrome, Opera, Mozilla Firefox и Internet Explorer.
Исследователь изучал коммерческие и открытые продукты: F5 Big IP, Imperva Incapsula, AQTRONIX WebKnight, PHP-IDS, Mod-Security, Sucuri, QuickDefence, Barracuda WAF. В работе для каждого продукта был представлен хотя бы один XSS-вектор, позволявший осуществить обход защиты.
Некорректная обработка JS-событий
Целый ряд известных межсетевых экранов пропускали JS-события “onwheel” и “onshow” — они позволяют выполнить вредоносный сценарий при прокрутке мышью и при показе элемента меню соответственно. В частности, этой ошибке оказались подвержены F5 Big IP, Barracuda WAF.
Quick Defense также оказался неспособным обнаружить внедрение вредоносного кода с помощью JS-событий “onsearch” и “ontoggle”.
Двойное кодирование URL и JS-F**K
С помощью двойного URL-кодирования, а также техники, получившей название JS-F**K (позволяет представить любой JS-код с помощью набора из 6 символов), исследователь обошел XSS-фильтры сразу нескольких WAF. Этому обходу оказались подвержены Imperva Incapsula, F5 Big IP (этот WAF имеет сразу четыре разных обхода), Mod-Security, PHP-IDS.
Другие уязвимости
Кроме того, правила PHP-IDS содержали ошибку, которая позволяла злоумышленнику обойти фильтры с помощью использования тэга svg. А Sucuri WAF не учитывал возможность семибитного представления данных в кодировке us-ascii, что воспринимается браузерами Internet Explorer 6 и 7:
¼script¾alert(¢xss¢)¼/script¾
Подробное описание всех обходов представлено в исследовании.
Исследователь передал информацию об обнаруженных ошибках безопасности разработчикам всех участвовавших в исследовании межсетевых экранов. Большинство из них уже выпустили патчи или исправят ошибки в следующей версии продукта, ответа не последовало только от команды разработки PHP-IDS.
А что у нас
Мы проверили самообучающийся межсетевой экран PT Application Firewall (PT AF) на подверженность описанным Ахмедом обходам. Рассмотрим три возможных сценария.
Обученная система блокирует подобные атаки, рассматривая их в качестве аномальных запросов к приложению.
Атаки, аналогичные примерам, приведенным в PDF-документе, блокируются регулярными выражениям.
Если входные данные пользователя каким-то образом обошли все защитные механизмы PT AF и встретились в ответе сервера, то они будут экранированы в контексте HTML-страницы.
P.S. Если вам близка тема WAF, присоединяйтесь к команде разработки PT Application Firewall —
habrahabr.ru/company/pt/blog/266415
ссылка на оригинал статьи http://habrahabr.ru/post/266717/
Добавить комментарий