Lion Cipher Lab

Find and fix SSRF (Server-Side Request Forgery) in your own lab

Why it matters

SSRF — Server-Side Request Forgery — is the bug behind some of the largest cloud breaches of the last decade, and it hides inside the most innocent-looking feature: 'give us a URL and we will fetch it for you.' Link previews, webhook testers, image importers, PDF generators, and 'import from URL' buttons all do this. The danger is that the fetch is made by the SERVER, not the user, so the URL an attacker supplies runs from inside your network — reaching internal admin panels, databases, and the cloud metadata service (a special address that hands out credentials) that no outsider could ever…

What you'll learn

Steps in this lab

  1. What SSRF is — and the ground rules
  2. Set up: confirm Python, make a folder, install Flask and requests
  3. Build the internal-only service (the thing that must stay hidden)
  4. Build the VULNERABLE fetcher (the bug, on purpose)
  5. Prove the SSRF works (steal the internal secret)
  6. Know your enemy: what counts as an internal address
  7. Fix it: allow-list the host AND block internal ranges
  8. Re-test: confirm the SSRF is dead and the feature still works
  9. Close the sneaky gaps: redirects and DNS
  10. What you did — and the reflex to keep

Open the full interactive lab →