production-bay

Catégorie: Web Difficulté: Moyen Flag: ctf{89b52b00fd39c0410372b898632e6bf0648ae9f43d500762d03af9e7768bcbfd}

Challenge

Description


Some powerful proxy protects our cat factory production bay, but the strange thing is that we edited some nginx config in the platform to protect our /flag route, and things do not look as secure as expected.

Flag format: ctf{sha256sum}

Solution

Ici, Burp Suite servira à faciliter l'exploration du site. On va commencer par se rendre dessus.

Si l'on regarde l'historique des requêtes, on voit une api avec /api/data/cat :

En jouant avec cet endpoint, on peut essayer de taper sur /api/data, on reçoit alors un message pour nous dire d'utiliser /debug

En utilisant le nouvel endpoint /api/data/debug, on nous dit d'utiliser le paramètre d'URL host

Pour voir ce qu'il se passe, on peut essayer de mettre un endpoint que l'on contrôle, ici j'utilise webhook.site

On a bien reçu une requète, et les headers contiennent des trucs bizarres :

x-original-host

:5000

x-real-ip

37.65.5.40

On suppose donc que l'application tourne en local sur le port 5000

Maintenant on cherche à aller sur /flag comme indiqué dans la description du challenge, on va donc naturellement faire une requête sur localhost:5000/flag

On reçoit request.host = ":5000" et qu'il faut venir de localhost:5000. Il suffit simplement de réutiliser le header x-original-host qu'on a vu plus tôt pour le mettre à la bonne valeur (:5000 est ajouté à chaque fois à la fin, il faut donc juste lui mettre la valeur localhost)

Dernière mise à jour

Cet article vous a-t-il été utile ?