Обход WAF | Bypass WAF

Предисловие

Всем тем, кто когда либо хакал, или пробовал хакать, попадался это самый злоебучий WAF.
Cloudflare (чаще всего), Sucuri (аналогичная хуйня), Akamai (та еще ёбань) и т.д.
Так вот, существую различные способы по обходу WAF, как громко это бы не звучало, но они есть!

Техническая часть

Для начала, что бы понять как это все работает, нам придется разобраться во всей картине происходящего.
Это прокси сервера, который нужно обойти, путем нахождения прямого ип адреса сервака. Для этого есть множество способов, которые мы рассмотрим ниже.
Рекомендую к прочтению: https://habr.com/ru/company/dsec/blog/340144/
Это: https://habr.com/ru/post/326362/
И еще!:

Для обхода ваф можно юзать: https://github.com/vincentcox/bypass…by-DNS-history

От меня

Сканите все возможные поддомены на определения настоящего ип, не скрытого за waf. Иногда помогает регистрация на сайте, мыло приходит с реальным ип адресом сервака, но такое бываейт крайне редко. Часто спасает nmap. Вообщем учите мат часть, не стестяйтесь юзать гугл, в крайних случаях яндекс – раз уж на то пошло. Задавайте вопросы.

Как работает WAF?

Разработчики WAF по-разному подходят к оповещению пользователя о том, что WAF заблокировал запрос. Поэтому, анализируя ответ на наш атакующий запрос, мы можем понять, каким именно WAF защищено веб-приложение. Для этого часто используется термин WAF Fingerprint. Это может помочь в случае, если WAF по какой-либо причине не обновляется (обычно это относится к WAF с открытым исходным кодом). Разработчики проприетарных WAF заботятся о клиентах и реализуют механизм автообновления. Также, если мы смогли идентифицировать WAF и он оказался обновленным до последней версии, все равно сведения о конкретном WAF помогут нам немного узнать о специфике его работы.

Перечислим основные места, по которым можно идентифицировать WAF:

Дополнительные куки
Дополнительные заголовки, добавляемые к любому ответу или запросу
Содержание ответа (в случае блокировки запроса)
Код ответа (в случае блокировки запроса)
IP-адрес (относится к Cloud WAF)
JS-модуль (Client-side WAF)

Обход WAF

Общая идея нахождения способов обхода WAF — привести нужный нам запрос к виду, в котором он всё ещё понятен атакуемому веб-приложению, но при этом не понятен или кажется безобидным для WAF. Важно отметить, что один тип WAF должен уметь обслуживать большое количество различных типов серверов, включая экзотические, такие как Unicorn, Tornado, Weblogic, Lighttpd etc… Каждый сервер может по-разному воспринимать те или иные исключительные случаи парсинга HTTP-запроса, что должно быть учтено в WAF. Таким образом, атакующий может воспользоваться спецификой парсинга HTTP-запроса атакуемого сервера для того, чтобы найти способ обхода WAF.

Отсебятина
Что могу сказать, изучаем nmap, сканим поддомены, регаемся на сайтах (частенько мейл с конфирмом шлется с реального ип, ну это не точно).
Изучаем поддомены. Не стесняемся юзать гугл, на крайний случай яндекс. Бог в помощь!

Оставьте комментарий