loading
loading
Vulnerabilities
SSRF and CRLF fuzzer for parameterized URL lists.
overview
ssrfuzz reads parameterized URLs from --domains, swaps each value for an SSRF or CRLF payload, and watches for responses that show the server fetched an attacker-chosen address.
Reach for it when a crawler or parameter-discovery stage already produced candidates. Skip categories with --skip-scheme, --skip-network, or --skip-crlf; switch GET/POST via --http-method.
nuclei covers template SSRF checks among many classes. ffuf is a general request fuzzer. ssrfuzz ships scheme, network, and CRLF logic aimed at loopback, internals, and cloud metadata.
use cases
Fuzz parameterized URLs with SSRF payloads to surface endpoints where the server fetches an attacker-controlled address.
Point network and scheme fuzzing at loopback, internal ranges, and metadata endpoints like 169.254.169.254 to test whether a parameter can pull AWS or GCP credentials.
Add CRLF payloads to available paths with --crlf-path so header injection surfaces alongside SSRF instead of in a separate scan.
Skip scheme or network fuzzing, choose GET or POST, and set threads and delay so the run matches the app's request shapes and its rate limits.
Give ssrfuzz a Slack webhook so confirmed hits post to a channel while the scan runs, not only when it finishes.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| target-domains | FILE | --domains | File of URLs with parameters to fuzz. |
| http-method | STRING | --http-method | HTTP method, GET or POST (default "GET"). |
| threads | STRING | --threads | Number of threads to run ssrfuzz on (default 50). |
| delay | STRING | --delay | Time each thread waits between requests, in milliseconds (default 100). |
| skip-crlf | BOOLEAN | --skip-crlf | Skip CRLF fuzzing. |
| skip-scheme | BOOLEAN | --skip-scheme | Skip scheme fuzzing. |
| skip-network | BOOLEAN | --skip-network | Skip network fuzzing. |
| slack-webhook | STRING | --slack-webhook | Slack webhook to post findings to a channel. |
Showing key inputs. ssrfuzz exposes 13 inputs in total.
| Name | Type | Flag | Description |
|---|---|---|---|
| delay | STRING | --delay | Time each thread waits between requests, in milliseconds (default 100). |
| cookie | STRING | --cookie | Cookie to send with each request. |
| threads | STRING | --threads | Number of threads to run ssrfuzz on (default 50). |
| timeout | STRING | --timeout | Seconds to wait before closing a connection that has hung (default 10). |
| verbose | STRING | --verbose | Enable verbose output. |
| crlf-path | STRING | --crlf-path | Add CRLF payloads to every available path (e.g. example.com/%0Atest.php). |
| skip-crlf | BOOLEAN | --skip-crlf | Skip CRLF fuzzing. |
| http-method | STRING | --http-method | HTTP method, GET or POST (default "GET"). |
| skip-scheme | BOOLEAN | --skip-scheme | Skip scheme fuzzing. |
| skip-network | BOOLEAN | --skip-network | Skip network fuzzing. |
| slack-webhook | STRING | --slack-webhook | Slack webhook to post findings to a channel. |
| target-domains | FILE | --domains | File of URLs with parameters to fuzz. |
| custom-user-agent | STRING | --user-agent | User agent for requests (defaults to a Chrome on Linux string). |
example
# fuzz a list of parameterized URLs for SSRF and CRLF, POST bodies, throttledssrfuzz --domains params.txt --http-method POST --threads 25 --delay 200ssrfuzz :: Server-Side Request Forgery Fuzzer [network] https://example.com/fetch?url= -> injecting SSRF payloads[network] SSRF candidate: https://example.com/fetch?url=http://203.0.113.10/ status=200 len=1462[scheme] https://example.com/api?proxy= -> injecting scheme payloads[scheme] SSRF candidate: https://example.com/api?proxy=gopher://203.0.113.10:11211/ status=500 len=94[crlf] https://example.com/%0d%0aSet-Cookie:ssrf=1 -> header injecteddone: 2 SSRF candidates, 1 CRLF candidate written to ssrfuzz-output/guidance
Use when you have parameterized URLs and want dedicated SSRF and CRLF depth. Feed crawler or parameter-discovery output, not bare hostnames. Pair with nuclei for broader template coverage; prefer crlfuzz when CRLF alone is the job.
Template-based scanner with SSRF checks among many. ssrfuzz focuses on SSRF and CRLF fuzzing depth.
General request fuzzer. ssrfuzz ships SSRF-specific payloads plus scheme and network logic.
faq
related
Automates OS command injection detection and exploitation.
Subdomain takeover scanner with cloud-zone intake.
Locate public CVE proof-of-concept repositories on GitHub.
Decode, forge, crack, and tamper JWTs for auth checks.
Triage reflected special characters on parameterized URLs.
Detect and exploit SQL injection on authorized web targets.
A file of parameterized URLs feeds ssrfuzz, which injects SSRF and CRLF payloads and writes the findings as a queryable output.
Facts on this page come from the live Trickest tool library.