BUY CTF 2025 - Redthis

L'équipe nohackzone 17 Mai 2025

Dans cet article, nous explorons un challenge Web issu du BuyCTF 2025.

Introduction

Dans une démarche d’amélioration continue de nos compétences, nous avons participé au CTF BuyCTF 2025, en nous concentrant exclusivement sur des challenges orientés Web.

Le premier défi que nous avons résolu s'intitulait Redthis.

Analyse de la faille

Voici l’énoncé du challenge en image :

Interface d'upload Laravel

Un fichier ZIP était proposé au téléchargement. Après l’avoir extrait, nous avons trouvé un fichier texte intéressant dans le répertoire C:\Users\O\Downloads\redthis\redis\inserts.

Le fichier zip

En inspectant le code source de la page du challenge, nous avons remarqué qu’une requête POST était attendue. Nous avons utilisé la commande suivante pour faire notre test :

$ curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "famous_person=admin" https://redthis.chal.cyberjousting.com/get_quote
famous-person admin

La réponse confirmait le bon fonctionnement. Nous avons ensuite testé les termes admin_password présents dans le fichier unsert, ce qui nous a retourné respectivement un mot de passe.

password admin

Il ne nous restait alors plus qu'à localiser le panneau d’administration pour tenter de nous y connecter. Après avoir testé plusieurs chemins tels que /admin et /admin.php sans succès, nous avons finalement identifié le bon point d’entrée : /login. Cette URL nous a rapidement conduit à une interface d’authentification.

Panel Admin

En utilisant les identifiants découverts précédemment dans le fichier insert.txt — à savoir admin comme nom d'utilisateur et le mot de passe récupéré via les requêtes POST — nous avons pu accéder au panneau d’administration. Un message de bienvenue « Hello admin » confirmait alors notre réussite.

La dernière étape consistait à trouver le flag. Un sélecteur présent sur la page proposait deux options flag. La première renvoyait un faux flag, mais en sélectionnant la deuxième option, le flag est apparu à l’écran.

Panel Admin
Accès au panneau administrateur.

Conclusion

Ce challenge nous a permis de renforcer nos compétences en ingénierie inverse, en analyse de code source et en énumération de chemins d’accès. Il démontre l’importance de ne jamais exposer des données sensibles dans des fichiers accessibles au téléchargement, et de sécuriser toutes les interfaces d’administration.

Recommandation : Ne jamais inclure de données sensibles dans les dépôts publics ou les archives proposées en téléchargement. Toujours valider et filtrer les requêtes POST côté serveur.