
Обнаруживать и обходить брандмауэры веб-приложений и системы защиты
WhatWaf — это продвинутый инструмент для обнаружения файрволов, цель которого — дать вам понять: «А есть ли там WAF?». WhatWaf работает, обнаруживая файрвол на веб-приложении, и пытается найти способ (или два) его обхода для указанной цели.
whatwaf --wafs
,------.
' .--. '
,--. .--. ,--. .--.| | | |
| | | | | | | |'--' | |
| | | | | | | | __. |
| |.'.| | | |.'.| | | .'
| | | | |___|
| ,'. |hat| ,'. |af .---.
'--' '--' '--' '--' '---'
/><s/**/cript>alert("WhatWaf?<|>v1.8($stable)");</scrip/**/t>
[00:58:55][INFO] сбор списка возможных обнаруживаемых WAF
360 Web Application Firewall (360)
aeSecure (WAF)
Airlock (Phion/Ergon)
AkamaiGHost Website Protection (Akamai Global Host)
Alert Logic (SIEMless Threat Management)
AliYunDun (WAF)
Anquanbao Web Application Firewall (Anquanbao)
AnYu Web Application Firewall (Anyu Technologies)
Apache Generic
Armor Protection (Armor Defense)
Application Security Manager (F5 Networks)
ASP.NET Generic Website Protection (MS)
Apache Traffic Server (ATS web proxy)
Amazon Web Services Web Application Firewall (Amazon)
Yunjiasu Web Application Firewall (Baidu)
Barikode Web Application Firewall
Barracuda Web Application Firewall (Barracuda Networks)
Bekchy (WAF)
BIG-IP (F5 Networks)
BinarySEC Web Application Firewall (BinarySEC)
Bitninja (WAF)
BlockDos DDoS protection (BlockDos)
Chuangyu top government cloud defense platform (WAF)
Cisco ACE XML Firewall (Cisco)
CloudFlare Web Application Firewall (CloudFlare)
CloudFront Firewall (Amazon)
XSS/CSRF Filtering Protection (CodeIgniter)
Comodo Web Application Firewall (Comodo)
IBM Websphere DataPower Firewall (IBM)
Deny All Web Application Firewall (DenyAll)
DiDiYun WAF (DiDi)
DoD Enterprise-Level Protection System (Department of Defense)
DOSarrest (DOSarrest Internet Security)
dotDefender (Applicure Technologies)
DynamicWeb Injection Check (DynamicWeb)
EdgeCast Web Application Firewall (Verizon)
ExpressionEngine (Ellislab WAF)
FortiWeb Web Application Firewall (Fortinet)
Gladius network WAF (Gladius)
Google Web Services
Grey Wizard Protection
Incapsula Web Application Firewall (Incapsula/Imperva)
INFOSAFE by http://7i24.com
Instart Logic (Palo Alto)
Janusec Application Gateway (WAF)
Jiasule (WAF)
Litespeed webserver Generic Protection
Malcare (MalCare Security WAF)
Open Source Web Application Firewall (Modsecurity)
Mod Security (OWASP CSR)
NexusGuard Security (WAF)
Nginx Generic Protection
Palo Alto Firewall (Palo Alto Networks)
Anti Bot Protection (PerimeterX)
pkSecurityModule (IDS)
Powerful Firewall (MyBB plugin)
Radware (AppWall WAF)
RSFirewall (Joomla WAF)
Sabre Firewall (WAF)
SafeDog WAF (SafeDog)
SecuPress (Wordpress WAF)
Shadow Daemon Opensource (WAF)
Shield Security
Website Security SiteGuard (Lite)
SonicWALL Firewall (Dell)
Squid Proxy (IDS)
Stingray Application Firewall (Riverbed/Brocade)
StrictHttpFirewall (WAF)
Sucuri Firewall (Sucuri Cloudproxy)
Teros Web Application Firewall (Citrix)
UEWaf (UCloud)
UrlScan (Microsoft)
Varnish/CacheWall WAF
Viettel WAF (Cloudrity)
Wallarm WAF
WebKnight Application Firewall (AQTRONIX)
IBM Security Access Manager (WebSEAL)
West236 Firewall
Wordfence (Feedjit)
WTS-WAF (Web Application Firewall)
Xuanwudun WAF
Yundun Web Application Firewall (Yundun)
Yunsuo Web Application Firewall (Yunsuo)
Zscaler Cloud Firewall (WAF)
[00:58:55][INFO] WhatWaf может обнаружить в общей сложности 86 систем защиты веб-приложений
,------.
' .--. '
,--. .--. ,--. .--.| | | |
| | | | | | | |'--' | |
| | | | | | | | __. |
| |.'.| | | |.'.| | | .'
| | | | |___|
| ,'. |hat| ,'. |af .---.
'--' '--' '--' '--' '---'
\"/><sCRIPT>ALeRt(\"WhatWaf?<|>v1.6.2($dev)\");</scRiPT>
[15:02:29][INFO] сбор доступных путей загрузки тампиров
---------------------------------------------------------------------------
Путь загрузки: | Описание:
---------------------------------------------------------------------------
content.tampers.apostrephemask | скрытие апострофа его UTF-эквивалентом
content.tampers.apostrephenullify | скрытие апострофа передачей его с NULL-символом
content.tampers.appendnull | добавление NULL-байта в конец полезной нагрузки
content.tampers.base64encode | кодирование полезной нагрузки в base64
content.tampers.booleanmask | маскировка булевых значений их символьными аналогами
content.tampers.doubleurlencode | двойное URL-кодирование символов полезной нагрузки
content.tampers.enclosebrackets | заключение чисел в скобки
content.tampers.escapequotes | экранирование кавычек с помощью обратной косой черты
content.tampers.lowercase | преобразование полезной нагрузки в нижний регистр
content.tampers.maskenclosebrackets | заключение в скобки и маскировка апострофа вокруг символа в скобках
content.tampers.modsec | помещение полезной нагрузки в комментарий с обфускацией
content.tampers.modsecspace2comment | обфускация полезной нагрузки путём размещения между комментариями с обфускацией и замены пробелов на комментарии
content.tampers.obfuscatebyhtmlcomment | обфускация тегов скрипта с помощью HTML-комментариев
content.tampers.obfuscatebyhtmlentity | замена символов полезной нагрузки на их HTML-сущности
content.tampers.obfuscatebyordinal | замена определённых символов полезной нагрузки на их порядковые эквиваленты
content.tampers.prependnull | добавление NULL-символа в начало полезной нагрузки
content.tampers.randomcase | случайное изменение регистра символов полезной нагрузки (верхний/нижний)
content.tampers.randomcomments | вставка случайных комментариев в полезную нагрузку
content.tampers.randomdecoys | добавление в скрипт тегов-приманок
content.tampers.randomjunkcharacters | добавление случайных мусорных символов в полезную нагрузку для обхода защиты на основе регулярных выражений
content.tampers.randomtabify | замена пробелов в полезной нагрузке на символ табуляции или восемь пробелов
content.tampers.randomunicode | вставка случайных UTF-8 символов в полезную нагрузку
content.tampers.randomwildcard | замена символов на подстановочный знак
content.tampers.space2comment | замена пробелов в полезной нагрузке на комментарий
content.tampers.space2doubledash | замена пробелов в полезной нагрузке на двойное тире
content.tampers.space2hash | замена пробелов в полезной нагрузке на обфусцированные хеши с новой строкой
content.tampers.space2multicomment | замена пробелов полезной нагрузки на случайное количество пробелов, обфусцированных комментарием
content.tampers.space2null | замена пробелов в полезной нагрузке на NULL-символ
content.tampers.space2plus | замена пробелов в полезной нагрузке на знак плюс
content.tampers.space2randomblank | замена пробелов полезной нагрузки на случайные ASCII-пробельные символы
content.tampers.tabifyspacecommon | замена пробелов полезной нагрузки на символ табуляции (\t)
content.tampers.tabifyspaceuncommon | замена пробелов в полезной нагрузке на 8 пробелов для имитации символа табуляции
content.tampers.tripleurlencode | тройное URL-кодирование символов полезной нагрузки
content.tampers.uppercase | преобразование полезной нагрузки в верхний регистр
content.tampers.urlencode | кодирование знаков препинания их URL-эквивалентами
content.tampers.urlencodeall | кодирование всех символов полезной нагрузки в их URL-эквиваленты
---------------------------------------------------------------------------
[15:02:29][INFO] всего доступно 36 тампир-скриптов
usage: ./whatwaf -[u|l|b|g] VALUE|PATH|PATH|PATH [-p|--pl] PAYLOAD,..|PATH [--args]
optional arguments:
-h, --help показать это сообщение справки и выйти
mandatory arguments:
аргументы, которые необходимо передать для запуска программы
-u URL, --url URL Передать один URL для обнаружения защиты
-l PATH, --list PATH, -f PATH, --file PATH
Передать файл, содержащий URL'ы (по одному на строку),
для обнаружения защиты
-b FILE-PATH, --burp FILE-PATH
Передать файл запроса Burp Suite для оценки WAF
-g GOOGLER-JSON-FILE, --googler GOOGLER-JSON-FILE
Передать JSON-файл из инструмента командной строки
Googler (например: googler -n 100 --json >> googler.json)
request arguments:
аргументы, управляющие вашими запросами
--pa USER-AGENT Указать собственный user-agent для HTTP-запросов
--ra Использовать случайный user-agent для HTTP-запросов
(*по умолчанию=whatwaf/2.0 (Language=2.7.10;
Platform=Darwin))
-H HEADER=VALUE,HEADER:VALUE.., --headers HEADER=VALUE,HEADER:VALUE..
Добавить собственные заголовки к запросу. Для
нескольких заголовков разделите их запятой. Заголовки
должны быть точными (например: Set-Cookie=a345ddsswe,
X-Forwarded-For:127.0.0.1) (*по умолчанию=None)
--proxy PROXY Указать прокси для работы за ним в формате
type://address:port (например: socks5://10.54.127.4:1080)
(*по умолчанию=None)
--tor Использовать Tor в качестве прокси; требуется
установленный Tor (*по умолчанию=False)
--check-tor Проверить ваше Tor-соединение (по умолчанию=False)
-p PAYLOADS, --payloads PAYLOADS
Указать собственные полезные нагрузки, разделённые
запятой, например: AND 1=1,AND 2=2
--pl PAYLOAD-LIST-PATH
Указать файл со списком полезных нагрузок (по одной
на строку)
--force-ssl Принудительно назначить HTTPS вместо HTTP при
обработке (*по умолчанию=HTTP, если не указано иное в URL)
--throttle THROTTLE-TIME (seconds)
Указать время ожидания между запросами (в секундах)
(*по умолчанию=0)
--timeout TIMEOUT Управлять таймаутом запросов (*по умолчанию=15)
-P, --post Отправить POST-запрос (*по умолчанию=GET)
-D POST-STRING, --data POST-STRING
Отправить эти данные с POST-запросом
(*по умолчанию=случайные)
-t threaded, --threads threaded
Отправлять запросы параллельно (указать количество
потоков) (*по умолчанию=1)
-tP CONFIGTORPORT, --tor-port CONFIGTORPORT
Изменить порт, на котором работает Tor
(*по умолчанию=9050)
-T, --test Проверить соединение с веб-сайтом перед началом
работы (*по умолчанию=True)
encoding options:
аргументы, управляющие кодированием полезных нагрузок
-e PAYLOAD [TAMPER-SCRIPT-LOAD-PATH ...], --encode PAYLOAD [TAMPER-SCRIPT-LOAD-PATH ...]
Закодировать указанную полезную нагрузку с помощью
переданного тампир-скрипта (скриптов). Можно передать
несколько путей загрузки тампиров, и полезная нагрузка
будет обработана соответствующим образом
-el PATH TAMPER-SCRIPT-LOAD-PATH, --encode-list PATH TAMPER-SCRIPT-LOAD-PATH
Закодировать файл, содержащий полезные нагрузки (по одной
на строку), передав путь и путь загрузки тампира.
Файлы могут быть закодированы только с помощью одного
пути загрузки тампир-скрипта
output options:
аргументы, управляющие выводом WhatWaf
-F, --format Отформатировать вывод в виде словаря и отобразить его
-J, --json Отправить вывод в JSON-файл
-Y, --yaml Отправить вывод в YAML-файл
-C, --csv Отправить вывод в CSV-файл
--fingerprint Сохранить все отпечатки для дальнейшего исследования
--tamper-int INT Управлять количеством отображаемых тампиров
(*по умолчанию=5)
--traffic FILENAME Сохранить все заголовки HTTP-трафика в файл по вашему
выбору
--force-file Принудительно создать файл, даже если защита не
обнаружена
-o DIR, --output DIR Сохранить копию файла в произвольный каталог
database arguments:
аргументы, относящиеся к базе данных WhatWaf
-c, --url-cache Проверить URL'ы, уже сохранённые в кеше базы данных,
перед их выполнением; экономит время при массовом
сканировании (*по умолчанию=False)
-uC, --view-url-cache
Отобразить весь кеш URL'ов в базе данных, включая
блокировки, тампир-скрипты, веб-сервер и обнаруженные
защиты
-pC, --payload-cache Просмотреть все полезные нагрузки, сохранённые в кеше
базы данных
-vC, --view-cache Просмотреть весь кеш в базе данных: от URL'ов до
полезных нагрузок
--export FILE-TYPE Экспортировать уже закодированные полезные нагрузки
в файл указанного типа и сохранить их в домашнем
каталоге
misc arguments:
аргументы, не подходящие ни под одну другую категорию
--verbose Запустить в подробном режиме (больше вывода)
--hide Скрыть баннер во время работы
--update Обновить WhatWaf до последней версии разработки
--save FILENAME Сохранить закодированные полезные нагрузки в файл
--skip Пропустить проверку обходов и просто определить
файрвол
--verify-num INT Изменить количество запросов для проверки,
действительно ли WAF отсутствует (*по умолчанию=5)
-W, --determine-webserver
Попытаться определить, какой веб-сервер работает
на бэкенде (например, Apache, Nginx и т.д.;
*по умолчанию=False)
--wafs Вывести список возможных файрволов, которые может
обнаружить WhatWaf
--tampers Вывести список путей загрузки тампир-скриптов с их
описанием
-M, --mine Передать этот флаг для майнинга XMR в пользу вас и
команды разработчиков WhatWaf