Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
glpi-logbleed — GLPI हिस्ट्री लॉग फ़िल्टर में ब्लाइंड SQL इंजेक्शन के लिए CVE-2026-53629 का PoC | Kitploit
उपकरण/GitHubGitHub/5kr1pt/glpi-logbleed
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणडेटा निष्कासनपेनिट्रेशन टेस्टिंग
GitHub5kr1pt/glpi-logbleed

glpi-logbleed

GLPI हिस्ट्री लॉग फ़िल्टर में ब्लाइंड SQL इंजेक्शन के लिए CVE-2026-53629 का PoC

रिपॉजिटरी देखें
1132 महीने पहलेअभी तक समीक्षित नहीं
वेबसाइट

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

glpi-logbleed

glpi-logbleed चल रहा है

GLPI इतिहास लॉग फ़िल्टर में ब्लाइंड SQL इंजेक्शन। CVE-2026-53629, 11.0.8 और 10.0.26 में ठीक किया गया, 9.4.0 से टूटा हुआ।

इसे किसी भी खाते की आवश्यकता है जिसके पास logs READ अधिकार हो। स्टॉक Read-Only प्रोफ़ाइल के पास यह अधिकार है।

एडवाइज़री: GHSA-cpcj-x335-5cmh लेख: मैंने इसे कैसे खोजा

बग

Log::convertFiltersValuesToSqlCriteria() affected_fields फ़िल्टर को key:operator:values में विभाजित करता है। CVE-2026-29047 के पैच ने ऑपरेटर को मान्य किया और ऐरे इंडेक्स को कास्ट किया, और $key को अकेला छोड़ दिया।

DBmysqlIterator::analyseCrit() OR, AND और NOT को कॉलम नामों के रूप में कोट नहीं करता। यह उनके मानों में पुनरावर्तन करता है, और वह पुनरावर्तन एक अप्रचलित शाखा पर समाप्त होता है जो सादे स्ट्रिंग्स को कच्चे SQL के रूप में लौटा देती है।

इसलिए key के रूप में OR जो चाहें WHERE क्लॉज़ में डाल देता है:

/front/log/export.php?itemtype=Entity&id=0&filter[affected_fields][0]=OR::1 AND sleep(5)
SELECT * FROM `glpi_logs`
WHERE `items_id` = '0' AND `itemtype` = 'Entity'
AND (((((1 AND sleep(5))))))

इतिहास टैब भी filters[affected_fields][0] के माध्यम से ऐसा ही करता है।

पेलोड बाधाएँ

explode(',', $values) अल्पविराम वाली किसी भी चीज़ को तोड़ देता है, इसलिए SUBSTRING(s,1,1) और IF(a,b,c) काम नहीं करते। CASE WHEN ... THEN ... ELSE ... END और MID(s FROM n FOR 1) काम करते हैं। कोट्स के बजाय हेक्स लिटरल, 0x676c7069 का अर्थ glpi है।

पेलोड glpi_logs में प्रति पंक्ति एक बार चलता है, इसलिए sleep कई गुना बढ़ जाती है। sleep(5) के साथ छह पंक्तियाँ 30 सेकंड की होती हैं। किसी वास्तविक इंस्टेंस पर इसे 0.1 कर दें, नहीं तो अनुरोध कभी वापस नहीं आएगा।

इसे चलाएँ

pip install requests
python3 glpi_sqli_extract.py http://glpi.lab.local -u readonly -p readonly

बाइनरी सर्च द्वारा glpi_users.password को एक-एक कैरेक्टर पढ़ता है। किसी अन्य उपयोगकर्ता के लिए --id, धीमे लक्ष्यों के लिए --sleep और --threshold।

यही तरकीब glpi_configs में api_token, personal_token और SMTP तथा LDAP क्रेडेंशियल्स को पढ़ती है।

समाधान

अपग्रेड करें। यदि आप नहीं कर सकते, तो उन प्रोफ़ाइलों से logs READ अधिकार हटा दें जिन्हें इसकी आवश्यकता नहीं है। अपस्ट्रीम ने key को allowlist में डाल दिया:

$allowed_keys = ['linked_action', 'id_search_option', 'itemtype_link'];
if (!in_array($key, $allowed_keys, true)) {
    continue;
}

यह फिक्स जारी होने के बाद प्रकाशित किया गया है। इसे उन चीज़ों पर न चलाएँ जो आपकी नहीं हैं।

टूल डाउनलोड करें