RCE sur le site d'un trader africain

L'équipe nohackzone 17 Mars 2025

Un trader africain populaire laisse une faille critique sur sa plateforme. Voici comment nous avons pu obtenir une RCE en exploitant un mauvais filtrage des uploads…

Introduction

En explorant un site de formation en trading, nous avons découvert une vulnérabilité critique permettant une exécution de code à distance (RCE). Voici comment nous avons procédé.

Analyse de la faille

Le site tradingcoursaf.com permet aux utilisateurs d’uploader des justificatifs de paiement. L’upload était censé être restreint aux images, mais en testant différents formats, nous avons remarqué une faille.

Interface d'upload Laravel
Le site utilisait Laravel pour gérer les comptes utilisateurs.

Nous avons d’abord tenté d’envoyer un fichier text, mais il a été rejeté.

Erreur d'upload
Le site refusait les fichiers texte.

Nous avons alors testé un fichier PHP, qui a aussi été refusé. Mais en modifiant son extension en .phtml, l’upload a été accepté. En exécutant ce fichier, nous avons obtenu un accès à distance au serveur.

Exploitation RCE
Code exécuté via l’upload d’un fichier .phtml.

Conclusion

Notre équipe a signalé cette faille à l’équipe du site, mais nous n’avons jamais eu de retour. Heureusement, elle a été corrigée.

Morale : Toujours sécuriser les uploads en restreignant les types de fichiers autorisés et en filtrant les extensions.