Intro
Je vous avouerai mes chatons, je n’ai jamais trop travaillé sur les exploits PHP et WEB, donc pour moi c’est nouveau. Regardons si mon cerveau félin arrivera à comprendre ce qu’il ce passe.
Étape 1 : Reconnaissance
C’est une page web, ce qu’il y a de plus classique, la lecture de la source de la page nous donnera peut être plus d’informations.
<!– <a href=”?source=1″>source</a> –>
Cela sent bon mes chatons, c’est un paramètre PHP, à vue de nez il va nous afficher la source du code PHP et plus HTML comme précédemment.
Si tu veux devenir un chaton, et que tu ne comprends pas la différence, je vais te l’expliquer. La première source que nous avons affichée, c’est le résultat de l’affichage du code PHP au format HTML. C’est à dire que tout a été interprété, et tu n’as aucune trace de la construction. Tout se fait dynamiquement et est généré à la demande par le serveur Apache/TOMCAT/NginX… , si tu es curieux, je te recommande cet excellent cours.
Étape 2 : Identification
Un petit focus sur la partie du PHP mes chatons :
Oui, c’est bien cela, tu as bien vu, nous avons un nouveau paramètre, et s’il a une valeur alors on affiche le résultat de celle-ci.
À vue de truffe, il n’y a pas l’air d’avoir de vérification de ce que nous lui passons comme paramètre, donc nous sommes en mode openbar sur les croquettes.
Étape 3 : Action
On va essayer avec la commande basique ls -alh, on ne sait jamais, nous verrons peut-être l’architecture et pourquoi pas un flag :
Ok, nous sommes vernis mes chatons, le serveur a bien interprété notre commande, et nous avons l’arborescence, on essaye de grep le contenu de flag.php ?
FCSC{5d969396bb5592634b31d4f0846d945e4befbb8c470b055ef35c0ac090b9b8b7}