Learn / SSRF

Trick a server into leaking its own secrets

SSRF (Server-Side Request Forgery) happens when a server fetches a URL you provide — which lets an attacker make requests from inside the network.

SSRF: your request passes through the proxy to the app server inside the private network, which fetches the URL and can also reach internal services like databases and admin panelsGET https://openvaultbank.example/preview?url=https://images.example/cat.jpgInside the private networkYouon the internetProxyThe front door(publicly accessible)App serverRuns your app(in containers)Image containerFetches the URLyou providedDatabasee.g. 10.0.0.5Internal APIse.g. 169.254.169.254Other servicese.g. admin panelsHere’s the image!123
  1. You send a request

    You ask the application to get a URL for you, for example:

    GET https://openvaultbank.example/preview?url=https://images.example/cat.jpg

    This request goes to the proxy (the front door).

  2. Passed to the app server

    The proxy forwards the request to the app server inside the private network.

  3. The server fetches the URL

    The app server makes a request to the URL you gave it, using its own network access. Here it fetches the image from an image container, and the picture comes back out to you.

    Because this request is made from inside the network, it can also reach other internal services — databases, admin panels, and more.

This is one bug, on one pretend app. A real test goes through everything you’ve built, feature by feature, and hands you a plain report: what we found, how bad it is, and exactly what to change. See how we test internet-facing apps →

Curious what we'd find in yours?

Tell us what you've built and you'll have a quote after a short call.