@hakerdna published yesterday a training challenge to learn what is the SSRF vulnerability. I will not explain what's a SSRF is since there are many resources online which explain it perfectly, for example in portSwinger, https://portswigger.net/web-security/ssrf

You can try the challenge here: https://hackerdna.com/labs/ssrf-validator

So, once we connect to the URL we can see the standard from to type a url

None

But it provide some interesting information:

  • We cannot use localhost or 127.0.0.1
  • gopher and other protocols are blocked

Since we cannot use localhost or 127.0.0.1 we can try different s approaches, like:

Fire up Burp and grab the request and we notice the destination URL is on the request

None

So, we can create a list with all the payloads to test it with intruder

None

If we sorted by size we will notice some different sizes on response

None

Once we identify the payload to use, next step is find out the flag, normally, this challenges use a different port, 8080, 8000, etc.. so next step is repeat the same attack but using the payload, we can also create a python to make it faster, but since this is a easy challenge I will use a few ports

None

Run the attack and again we will find a different size on response

None

So.. now only need to call /flag to grab the flag

None