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}
Ce challenge tourne sur un docker et n'est pas disponible
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 ?