
Фаззинг страниц с кодами 401/403/404 в поисках обходов
Оригинальный 403fuzzer.py :)
==Примечание: Этот инструмент устарел в пользу моего нового, блестящего расширения для Burp, которое на 1000000% лучше. Спасибо за использование моих инструментов!==
Вы можете найти расширение здесь: https://github.com/intrudir/BypassFuzzer-Burp
Fuzz 401/403-эндпоинтов на предмет обходов
Выполняет различные проверки через заголовки, нормализацию путей, HTTP-глаголы и т.д., чтобы попытаться обойти ACL или проверки URL.
Если этот инструмент помог вам получить баунти или вы просто хотите угостить меня пивом:
Подпишитесь на меня в Twitter! @intrudir
# клонируйте репозиторий (или скачайте zip!) и перейдите в директорию
git clone https://github.com/NetSPI/BypassFuzzer.git
cd BypassFuzzer
# рекомендуется создать новое виртуальное окружение
python3 -m venv .venv
# активируйте виртуальное окружение
source .venv/bin/activate
# установите зависимости
python3 -m pip install -r requirements.txt
# клонируйте репозиторий (или скачайте zip!) и перейдите в директорию
# если вы скачали .zip, не забудьте распаковать его
cd BypassFuzzer-main\
# рекомендуется создать новое виртуальное окружение
py -m venv .venv
# активируйте виртуальное окружение
.venv\Scripts\activate
# установите зависимости
# используйте команду 'python', чтобы задействовать интерпретатор из этого окружения
python -m pip install -r .\requirements.txt
Для Windows при использовании скрипта обязательно используйте команду python. Это гарантирует, что вы работаете из виртуального окружения.
Посмотрите справку
bypassfuzzer.py -h
Просто вставьте запрос в файл и запустите скрипт!
cookies и заголовки из запроса.python3 bypassfuzzer.py -r request.txt

Укажите URL
python3 bypassfuzzer.py -u http://example.com/test1/test2/test3/forbidden.html
Укажите куки для использования в запросах:
несколько примеров:
--cookies "cookie1=blah"
-c "cookie1=blah; cookie2=blah"
Укажите метод/глагол и тело данных для отправки
bypassfuzzer.py -u https://example.com/forbidden -m POST -d "param1=blah¶m2=blah2"
bypassfuzzer.py -u https://example.com/forbidden -m PUT -d "param1=blah¶m2=blah2"
Укажите пользовательские заголовки для каждого запроса
Возможно, вам нужно добавить какой-нибудь заголовок аутентификации, например Authorization: bearer <token>
Укажите -H "header: value" для каждого дополнительного заголовка:
bypassfuzzer.py -u https://example.com/forbidden -H "Some-Header: blah" -H "Authorization: Bearer 1234567"
Основана на коде ответа и длине. Если ответ встречается 8 или более раз, он автоматически заглушается.
Количество повторений можно изменить в коде, пока я не добавлю опцию для указания через флаг.
Примечание: нельзя использовать одновременно с -hc или -hl (пока)
# включить умный фильтр
bypassfuzzer.py -u https://example.com/forbidden --smart
Полезно, если хотите направить трафик через Burp
bypassfuzzer.py -u https://example.com/forbidden --proxy http://127.0.0.1:8080
# пропустить отправку полезных нагрузок в заголовках
bypassfuzzer.py -u https://example.com/forbidden -sh
# или --skip-headers
# пропустить отправку полезных нагрузок по нормализации путей
bypassfuzzer.py -u https://example.com/forbidden -su
# или --skip-urls
Укажите списки, разделённые запятыми, без пробелов. Примеры:
# скрыть коды ответов
bypassfuzzer.py -u https://example.com/forbidden -hc 403,404,400
# скрыть длину ответов 638
bypassfuzzer.py -u https://example.com/forbidden -hl 638
Каждая успешная пара запрос/ответ (200 OK) сохраняется в базу данных SQLite.
Каждая полезная нагрузка имеет индексный номер для удобного поиска.

После завершения атаки просмотрите результаты и определите индекс или полезную нагрузку данных, которые хотите увидеть.
Вы должны использовать ОБА следующих флага:
--display-by index или payload--display-interactions номер индекса или строка полезной нагрузки в кавычках# отображение по номеру индекса
bypassfuzzer.py --display-by index --display-interactions 49
# отображение по полезной нагрузке
bypassfuzzer.py --display-by payload --display-interactions "/%2e%2fAJAX/index.php"
Результат:

Для простоты при каждом запуске инструмента создаётся свежая база данных.
Вы можете запросить конкретную базу данных через флаг --idb.
ПРИМЕЧАНИЕ:
interactions, чтобы быть доступной.--idb, по умолчанию будет использована самая новая.bypassfuzzer.py --display-by index --display-interactions 49 --idb interactions_20240729_145149.db

Укажите флаг --oob с вашим collaborator или ISH-доменом.
Вам нужно самостоятельно проверять пингбэки, так как у меня пока нет возможности сделать это за вас.
--oob abc123.oastify.com