Исследование: Почти все популярные межсетевые экраны пропускают XSS-атаки

от автора

Исследователь безопасности Мазин Ахмед (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/


Комментарии

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

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