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}

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 ?