Solution de tacorabane pour Baguette VPN 1/2

web python

9 décembre 2023

Solution

D’après la description, nous avons à faire à un service web.

Démarrage du challenge

Commençons par lancer le challenge et rendez-vous à l’URL http://localhost:8000.

web_page

Nous ne sommes pas très avancés. Mais pas de panique, regardons le code source.

Ah ! Il se trouve qu’à la fin du code source, nous avons deux URL en commentaire.

commentary

Si nous tentons d’y accèder, nous remarquons qu’à l’URL /api/image nous demande un paramètre…

api_image

… et à l’URL /api/debug nous amène sur une page remplit de texte.

api_debug

Il faut savoir que le framework web Flask, il nous est possible d’accèder à une zone de debug qui permet de gérer les erreurs. Cependant, ce mode de débug ne doit pas rester dans un environnement de production.

Si on regarde cette page attentivement, il est indiqué le nom d’un fichier Python.

debug_file

Récupération du fichier Python

Maintenant que nous avons trouvé une information intéressante, il va falloir accéder au contenu de ce fichier.

/app c’est le main.html d’un projet Flask.

Donc il nous faut juste entrer dans la barre d’adresse http://localhost:8000/baguettevpn_server_app_v0.py. Et paf ! nous avons téléchargé le fichier pythyon.

Exploitation du fichier Pyhton

Ouvrez le fichier avec l’éditeur de votre choix.

Ne soyez pas trop rapide et regardez bien les commentaires du haut pour accéder au premier flag :)

# Congrats! Here is the flag for Baguette VPN 1/2
#   FCSC{e5e3234f8dae908461c6ee777ee329a2c5ab3b1a8b277ff2ae288743bbc6d880}