← Back to sandbox
Security — SSRF Intermediate 5 possible tests

Server-Side Request Forgery

A URL-fetch endpoint with no destination validation. Supply URLs that make the server reach into its own loopback, cloud metadata service, internal network, or local filesystem — places the attacker cannot reach directly.

What is SSRF?

SSRF occurs when a server fetches a URL supplied by the user without validating where that URL points. The attacker cannot reach internal services directly, but the server can — so they make the server do it for them. Classic targets include http://127.0.0.1/admin (loopback services), http://169.254.169.254/ (AWS/GCP/Azure metadata), internal RFC-1918 hosts, and file:// URLs that read the local filesystem.

What is hidden here

True Positivehttps://api.example.com/data — external URL, normal fetch, no vulnerability
Bug Foundhttp://127.0.0.1:8080/admin — loopback reaches internal admin panel with DB credentials
Bug Foundhttp://169.254.169.254/latest/meta-data/iam/security-credentials/app-role — AWS metadata endpoint returns IAM keys
Bug Foundhttp://192.168.1.1/ — internal network host returns router config with Wi-Fi password
Bug Foundfile:///etc/passwd — file:// scheme not blocked, reads local filesystem

Endpoint A — Unsafe Fetch

This endpoint accepts any URL and passes it directly to the server-side HTTP client with no destination validation. Enter a URL or use a quick-test button.

✗ No URL validation
Quick tests
POST /qa-sandbox/ssrf/   url=
📡

    

Endpoint B — Safe Fetch

This endpoint validates the scheme (http/https only) and checks the resolved hostname against a blocklist of RFC-1918 ranges, loopback addresses, and the cloud metadata endpoint before making the request.

✓ Scheme + IP blocklist validation
Quick tests
POST /qa-sandbox/ssrf/   url=

  • Enter https://api.example.com/data on Endpoint A — external URL, the server would fetch it normally. No internal resources are exposed (true positive).
  • Enter http://127.0.0.1:8080/admin on Endpoint A — loopback address is only reachable from the server itself. The response returns the internal admin panel with database credentials and secret keys (bug found).
  • Enter http://169.254.169.254/latest/meta-data/iam/security-credentials/app-role on Endpoint A — the AWS instance metadata endpoint is accessible only from the EC2 instance. It returns temporary IAM credentials granting API access to the cloud account (bug found).
  • Enter http://192.168.1.1/ on Endpoint A — the server pivots into the internal LAN and retrieves the router admin page, including the Wi-Fi password (bug found).
  • Enter file:///etc/passwd on Endpoint A — the file:// scheme is not blocked, so the server reads the local filesystem and returns system user accounts (bug found).
  • Try all payloads on Endpoint B — the scheme check and IP blocklist block every internal target before any network call is made (true positive).