
CMS Made Simple CVE-2019-9053 एक्सप्लॉइट (पायथन 3)
CMS Made Simple <= 2.2.9 को लक्षित करने वाले समय-आधारित ब्लाइंड SQL इंजेक्शन एक्सप्लॉइट का Python 3 पोर्ट।
मूल एक्सप्लॉइट Daniele Scanu @ Certimeter Group द्वारा।
| फ़ील्ड | विवरण |
|---|---|
| CVE | CVE-2019-9053 |
| प्रभावित सॉफ़्टवेयर | CMS Made Simple <= 2.2.9 |
| भेद्यता प्रकार | अनधिप्रमाणित समय-आधारित ब्लाइंड SQL इंजेक्शन |
| आक्रमण वेक्टर | नेटवर्क (प्रमाणीकरण आवश्यक नहीं) |
| पैरामीटर | News मॉड्यूल में m1_idlist |
News मॉड्यूल m1_idlist GET पैरामीटर को सैनिटाइज़ करने में विफल रहता है, जिससे एक अनधिप्रमाणित आक्रमणकारी समय विलंब का उपयोग करके डेटाबेस से संवेदनशील डेटा को एक-एक अक्षर करके निकाल सकता है।
pip install requests termcolor
python3 CVE-2019-9053_py3.py -u http://target/cms
python3 CVE-2019-9053_py3.py -u http://target/cms --crack -w /path/to/wordlist.txt
python3 CVE-2019-9053_py3.py --help
| फ़्लैग | विवरण |
|---|---|
-u, --url | लक्षित CMS Made Simple इंस्टॉलेशन का बेस URL |
-w, --wordlist | पासवर्ड क्रैकिंग के लिए वर्डलिस्ट फ़ाइल का पथ |
-c, --crack | पासवर्ड क्रैकिंग मोड सक्षम करें (-w आवश्यक) |
python3 CVE-2019-9053_py3.py -u http://10.49.164.146/simple/ --crack -w /usr/share/wordlists/rockyou.txt
अपेक्षित आउटपुट:
[+] Salt for password found: 1234abcd
[+] Username found: admin
[+] Email found: [email protected]
[+] Password found: 0c01f4468bd75d7a84c7eb73846e8d96
[+] Password cracked: password123
cms_siteprefs तालिका में sitemask मान की क्वेरी करता हैcms_users से user_id = 1 का उपयोगकर्ता नाम निकालता हैcms_users से user_id = 1 का ईमेल निकालता हैcms_users से user_id = 1 का MD5 पासवर्ड हैश निकालता हैMD5(salt + wordlist_entry) की गणना करता है और डंप किए गए हैश से तुलना करता हैइंजेक्शन प्रत्येक अक्षर का अनुमान लगाने के लिए SELECT SLEEP(N) का उपयोग करता है — यदि प्रतिक्रिया में विलंब होता है, तो अनुमानित अक्षर सही है।
सुझाव: यदि स्क्रिप्ट धीमी या अविश्वसनीय है, तो नेटवर्क विलंब को ध्यान में रखते हुए स्क्रिप्ट के अंदर
TIMEवेरिएबल को बढ़ाएँ।
| परिवर्तन | विवरण |
|---|---|
print कथन | print() फ़ंक्शन में परिवर्तित |
optparse | argparse से प्रतिस्थापित (optparse Python 3 में अप्रचलित है) |
hashlib.md5() | इनपुट अब .encode('utf-8') के माध्यम से बाइट्स में एन्कोड किया जाता है |
| फ़ाइल पढ़ना | .readlines() को with ब्लॉक और .strip() से प्रतिस्थापित |
यह प्रोजेक्ट केवल शैक्षिक उपयोग के लिए है। Exploit-DB पर मूल एक्सप्लॉइट की लाइसेंसिंग शर्तों का संदर्भ लें।