
XOne Web Monitor में एक बिना प्रमाणीकरण वाली SQL इंजेक्शन भेद्यता के लिए प्रूफ-ऑफ-कॉन्सेप्ट, जो विशेष रूप से तैयार किए गए POST अनुरोधों के माध्यम से क्रेडेंशियल डंपिंग और डेटा निष्कर्षण की अनुमति देता है।
लेखक: Javier Carabantes
प्रभावित सॉफ्टवेयर: XOne Web Monitor
सॉफ्टवेयर: https://xone.es/
प्रभावित संस्करण: 02.10.2024.530 फ्रेमवर्क 1.0.4.9
एक अप्रमाणित SQL इंजेक्शन भेद्यता XOne Web Monitor संस्करण 02.10.2024.530 फ्रेमवर्क 1.0.4.9 के लॉगिन कार्यक्षमता में खोजी गई है। यह दोष हमलावरों को प्रमाणीकरण प्रक्रिया के दौरान उपयोगकर्ता इनपुट के अनुचित हैंडलिंग का शोषण करके सभी संग्रहीत उपयोगकर्ता नाम और पासवर्ड निकालने की अनुमति देता है। विशेष रूप से, लॉगिन एंडपॉइंट का डिज़ाइन हमलावरों को एक कमजोर इनपुट पैरामीटर के माध्यम से WHERE क्लॉज़ में हेरफेर करने की अनुमति देता है।
/webcore/api/itf/DoAction
निम्नलिखित दर्शाता है कि कैसे भेद्यता का शोषण एक क्राफ्टेड POST अनुरोध का उपयोग करके कमजोर संस्करण पर किया जा सकता है:

जब एक अमान्य लॉगिन प्रदान किया जाता है, जैसे "test:test", तो निम्नलिखित अनुरोध भेजा जाता है
POST /webcore/api/itf/DoAction HTTP/1.1
Host: redacted:44330
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://redacted:44330/
Content-Type: application/json
Authorization: Bearer redacted
Content-Length: 124
Origin: http://redacted:44330
Connection: keep-alive
{"action":"select","count":false,"page":{},"coll":"Usuarios","macros":{},"where":"(LOGIN='test')","sort":"","loadall":false}
ध्यान दें कि पासवर्ड नहीं भेजा जाता है और उपयोगकर्ता नाम एक where प्रॉपर्टी में लपेटा जाता है। LOGIN फ़ील्ड के ऑपरेटर को बदलने से उपयोगकर्ताओं और पासवर्ड की पूरी सूची स्पष्ट टेक्स्ट में मिल जाएगी:

प्रतिक्रिया डेटाबेस में संग्रहीत सभी उपयोगकर्ता नामों और उनके संबंधित पासवर्डों की सूची प्रकट करती है। कोई भी उपयोगकर्ता संवेदनशील डेटा (ग्राहक, कर्मचारी पद, आदि) तक पहुँच और प्राप्त कर सकता है।

यह SQL इंजेक्शन भेद्यता MSSQL में UNION क्वेरी के उपयोग का भी समर्थन करती है, जिससे हमलावर डेटाबेस में अन्य तालिकाओं से डेटा की गणना और पुनर्प्राप्ति कर सकते हैं।

वही इंजेक्शन LFD की अनुमति देता है यदि हमलावर पूर्ण पथ जानता है, उदाहरण के रूप में विशेषाधिकार प्राप्त फ़ाइल C:/windows/system32/grouppolicy/machine/registry.pol को पढ़ना:

विक्रेता को इस भेद्यता के बारे में 11/11/2024 सप्ताह के दौरान सूचित किया गया था।
PoC में दिखाया गया वेबपेज अप्रकाशित कर दिया गया है।