sided-curl
Catégorie: Web Difficulté: easy Flag: CTF{36555d5ff86de7b5a572f4c01cbfc8c677b1c1287d9c043618442d248d940b65}
Challenge
Description
The admin made a site so he can grab some .png. Now thinks that you can't bypass the filters, show him he's wrong and get to the other side . Flag Format : CTF{sha256}
Ce challenge tourne sur un docker et n'est pas disponible
Analyse du site
On a un formulaire dans lequel on doit mettre un lien pour que son contenu soit affiché en dessous. Le nom du challenge nous indique que cela est fait grâce à la commande curl
Autre détail, le lien que l’on entre doit obligatoirement commencer par http://google.com
sinon il est rejeté et à la fin un .png
est automatiquement ajouté

On voit qu’on autre serveur tourne sur la machine du serveur mais en local sur le port 8000. Pour le contacter on va détourner notre lien vers localhost:8000 en faisant croire que google.com
est un nom d’utilisateur. Cela se fait en transformant le lien en http://google.com@localhost:8000/?
Le ?
à la fin sert à éviter le .png
ajouté automatiquement par le service

On tombe alors sur la page locale de login admin. Il s’agit d’un form en GET avec les champs username et password. Mais si l’on tente d’y accéder directement, on prend une erreur sur le fait que notre lien est trop long

En cherchant des bypass sur les formats d’URL, je suis tombé sur : http:@0/ --> http://localhost/
Il suffit donc d’utiliser la même technique

Dernière mise à jour
Cet article vous a-t-il été utile ?