
MasterStudy LMS WordPress Plugin में CVE-2024-1512 के लिए PoC।
CVE-2024-1512, MasterStudy LMS WordPress प्लगइन में एक गंभीर भेद्यता उजागर करता है, विशेष रूप से /lms/stm-lms/order/items REST रूट के कार्यान्वयन में। यह समस्या प्लगइन द्वारा 'user' पैरामीटर को ठीक से escape न करने और SQL क्वेरी की अपर्याप्त तैयारी के कारण उत्पन्न होती है। परिणामस्वरूप, हमलावर 'user' पैरामीटर में हेरफेर करके क्वेरी में दुर्भावनापूर्ण SQL कोड इंजेक्ट कर सकते हैं। यह भेद्यता union-आधारित SQL Injection हमले को सुगम बनाती है, जिसमें हमलावर मूल क्वेरी में अतिरिक्त SQL कमांड जोड़ देता है, जिससे अनधिकृत डेटाबेस इंटरैक्शन संभव हो जाता है। इन इंटरैक्शन में डेटा निष्कर्षण, डेटा विलोपन या डेटा हेरफेर शामिल हो सकते हैं, जो डेटा की गोपनीयता, अखंडता और उपलब्धता के लिए महत्वपूर्ण जोखिम पैदा करते हैं। इस भेद्यता के शोषण के लिए प्रमाणीकरण की आवश्यकता नहीं होती है, जिससे यह विशेष रूप से खतरनाक है क्योंकि कोई भी दूरस्थ हमलावर जो प्रभावित साइट पर HTTP अनुरोध भेज सकता है, इसे आज़मा सकता है।
sqlmap के साथ शोषण करें, http://example.com को लक्षित URL से बदलें।
sqlmap -u 'http://example.com/?rest_route=/lms/stm-lms/order/items&author_id=111&user=555' --dbs --batch -p user
रिपॉजिटरी में दिया गया Go स्क्रिप्ट एक निर्मित SQL इंजेक्शन पेलोड के प्रति प्रतिक्रिया समय को मापकर इस भेद्यता की उपस्थिति का पता लगाने के लिए उपयोग किया जा सकता है। यह टूल तर्क के रूप में दिए गए बेस URL में SQL इंजेक्शन पेलोड जोड़कर एक URL बनाता है। फिर यह इस URL पर एक HTTP GET अनुरोध भेजता है। यदि प्रतिक्रिया समय सामान्य से काफी अधिक है (उदाहरण में 5 सेकंड को मानक के रूप में उपयोग किया गया है), तो यह संकेत देता है कि SQL इंजेक्शन का प्रयास सफल हो सकता है, जो संभावित भेद्यता को दर्शाता है।
go run main.go http://example.com
MasterStudy LMS WordPress प्लगइन को 3.2.5 से बाद के संस्करण में अपडेट करें, जहाँ इस भेद्यता को संबोधित किया गया है। SQL इंजेक्शन भेद्यताओं को रोकने के लिए हमेशा इनपुट पैरामीटर्स को कठोरता से मान्य (validate) और स्वच्छ (sanitize) करें।
NVD - CVE-2024-1512 Detail
Tenable - CVE-2024-1512
Wordfence Security Advisory - MasterStudy LMS Plugin Vulnerability