File Upload (Medium)
Consignes
Le flag se trouve à la racine !
Réalisation
Ce challenge nous demande de lui envoyer un fichier zip.
Pour se faire, créer un dossier /test dans lequel on met un fichier nommé NotAFlag.txt avec le contenu suivant :
3700{00p5_175_n07_4_fl46}
On zip ensuite ce dossier :
$ zip text.zip test
adding: test/ (stored 0%)
$ ls
test text.zipUne fois le dossier en .zip , on l'upload sur le site :

On observe que le site unzip notre dossier et extrait le contenu dans le répertoire /tmp/upload/.
On accède au lien donné par le site, cependant, il ne prends en compte uniquement le dossier présent dans le .zip mais pas son contenu.
On fais donc un nouveau zip avec cette fois-ci uniquement le fichier NotAFlag.txt à l'intérieur :
On fourni donc le nouveau dossier .zip au site WEB :

On accède ensuite au lien fourni par le serveur. Ce dernier à bien pris en compte notre fichier que nous pouvons consulter :

On a maintenant réaliser un reverse shell.
Pour se faire, lancer dans un terminal ngrok sur le port 4444 :
Adresse : 7.tcp.eu.ngrok.io
Port : 16675
Lancer dans un second terminal netcat en écoute sur même port que ngrok (ici, 4444) :
On réalise maintenant un fichier shell.php à l'aide de l'adresse et du port fourni par ngrok :
On créer le dossier payload.zip en y incluant notre fichier shell.php :
On ajoute ensuite le dossier payload.zip sur le site WEB :

On accède au lien fourni par le site web et cliquons sur notre fichier shell.php :

Une fois le fichier shell.php sélectionné, une connexion est bien établie avec notre netcat :
On se rend donc à la racine de la machine comme nous indique les consignes du challenge pour y trouver le FLAG :
On obtient donc le FLAG :
Last updated