
WAFNinja — это инструмент, который содержит две функции для атаки на межсетевые экраны веб-приложений (файрволы веб-приложений).
WAFNinja — любимый инструмент тестировщиков на проникновение для обхода WAF
WAFNinja — это инструмент командной строки, написанный на Python. Он помогает тестировщикам на проникновение обходить WAF, автоматизируя шаги, необходимые для обхода валидации ввода. Инструмент создавался с целью быть легко расширяемым, простым в использовании и применимым в командной среде. В комплекте с инструментом поставляется множество полезных нагрузок и строк для фаззинга, хранящихся в локальном файле базы данных. WAFNinja поддерживает HTTP-соединения, GET и POST запросы, а также использование Cookies для доступа к страницам, ограниченным для аутентифицированных пользователей. Также можно настроить прокси-перехватчик.
Установка:
git clone https://github.com/khalilbijjou/WAFNinja && cd WAFNinja
pip install -r requirements.txt
Использование:
wafninja.py [-h] [-v] {fuzz, bypass, insert-fuzz, insert-bypass, set-db} ...
ПРИМЕР:
fuzz:
python wafninja.py fuzz -u "http://www.target.com/index.php?id=FUZZ"
-c "phpsessid=value" -t xss -o output.html
bypass:
python wafninja.py bypass -u "http://www.target.com/index.php" -p "Name=PAYLOAD&Submit=Submit"
-c "phpsessid=value" -t xss -o output.html
insert-fuzz:
python wafninja.py insert-fuzz -i select -e select -t sql
именованные аргументы: {fuzz, bypass, insert-fuzz, insert-bypass, set-db}
Какую функцию вы хотите использовать?
fuzz проверяет, какие символы и ключевые слова разрешены WAF.
bypass отправляет полезные нагрузки из базы данных на цель.
insert-fuzz добавляет строку для фаззинга
insert-bypass добавляет полезную нагрузку в список обхода
set-db использует другой файл базы данных. Полезно для совместного использования одной базы данных с другими.
необязательные аргументы:
-h, --help показать это справочное сообщение и выйти
-v, --version показать номер версии программы и выйти
Буду признателен за любую обратную связь! С уважением, Халил.