Dans ce challenge "Secure Upload V2", l'interface utilisateur (style Cyberpunk) est volontairement restrictive. Elle ne propose aucun bouton d'upload classique, seulement un système de "Drag & Drop" qui simule des actions prédéfinies.
Cependant, une analyse du code source révèle que le développeur a laissé le code de traitement des uploads standards actif !
C'est un exemple classique de fonctionnalité "orpheline" ou de code de débogage oublié. Si le code existe sur le serveur, un attaquant peut l'utiliser, même s'il n'y a pas de bouton HTML pour le faire.
Puisque le navigateur ne nous donne pas de formulaire, nous devons "forger" la requête HTTP nous-mêmes. Nous savons que le paramètre attendu est file.
Une fois la requête envoyée, rafraîchissez la page : votre fichier apparaîtra dans la liste "REPOSITORY" !
Pour sécuriser cette application :
if (isset($_FILES['file'])) doit être supprimé.