
CVE-2026-5147 के लिए एक्सप्लॉइट स्क्रिप्ट, जो MySQL इंटरफेस के विरुद्ध बूलियन और समय-आधारित ब्लाइंड SQL इंजेक्शन करके संस्करण, डेटाबेस, स्कीमा और डेटा निकालती है। इसमें कैलिब्रेशन, डंप सबकमांड और कॉन्फ़िगर करने योग्य पेलोड शामिल हैं।
अधिकृत भेद्यता सत्यापन और रेंज अभ्यास के लिए: SQL इंजेक्शन वाले इंटरफ़ेस पर MySQL बूलियन ब्लाइंड इंजेक्शन (EXP / INSTR या ASCII) और टाइम ब्लाइंड इंजेक्शन (if + ascii + sleep) करें, और वैकल्पिक रूप से संस्करण, डेटाबेस नाम, तालिका संरचना और डेटा निकालें (व्यवहार sqlmap के --dump जैसा)।
अनधिकृत सिस्टम पर उपयोग न करें।
pip install requests
CURRENT_USER + INSTR प्रोब भेजें, और प्रतिक्रिया JSON में व्यावसायिक फ़ील्ड (डिफ़ॉल्ट code) का उपयोग करके "सत्य / असत्य" शाखाओं को अलग करें।-p instr या ascii) का उपयोग करें।--skip-calibrate: उपरोक्त कैलिब्रेशन छोड़ें; फिर भी बूलियन + JSON फ़ील्ड के आधार पर अनुमान लगाएँ, स्वचालित रूप से टाइम मोड में नहीं बदलेगा (स्थानीय डिबगिंग के लिए उपयुक्त)।"सत्य" निर्धारित करने वाले JSON फ़ील्ड नाम और मान को --json-code-field, --json-code-true के माध्यम से समायोजित किया जा सकता है (लक्ष्य API के अनुरूप होना चाहिए)।
# केवल डोमेन: डिफ़ॉल्ट पथ के साथ जोड़ें (स्क्रिप्ट में DEFAULT_API_PATH देखें)
python cve-2026-5147.py -u target.example.com
# HTTPS, कस्टम पथ और इंजेक्शन पैरामीटर नाम निर्दिष्ट करें
python cve-2026-5147.py -u target.example.com --https --path /api/foo --param id
# पूर्ण डेटाबेस डंप (अत्यधिक अनुरोध, सावधानी से उपयोग करें)
python cve-2026-5147.py -u target.example.com dump
# केवल तालिका नाम स्ट्रिंग निकालें, डेटा निर्यात न करें
python cve-2026-5147.py -u target.example.com dump --schema-only
प्रगति और निदान जानकारी stderr पर, अंतिम सारांश stdout पर।
| पैरामीटर | विवरण |
|---|---|
-u / --url | लक्ष्य (डोमेन, host:port या पूर्ण URL), अनिवार्य |
--path | जब पथ न दिया गया हो तो होस्ट के बाद जोड़ा जाने वाला पथ (डिफ़ॉल्ट टेनेंट-प्रकार इंटरफ़ेस पथ) |
--https | जब scheme न हो तो https का उपयोग करें (डिफ़ॉल्ट http:// जोड़ता है) |
--param | इंजेक्शन पैरामीटर नाम (डिफ़ॉल्ट website) |
-p / --payload | बूलियन खंड: instr या ascii (टाइम ब्लाइंड इंजेक्शन निश्चित if+ascii+sleep) |
--timeout | HTTP टाइमआउट (सेकंड); टाइम ब्लाइंड इंजेक्शन में प्रवेश करते समय स्वचालित रूप से sleep+5 से कम नहीं होगा |
--sleep | टाइम ब्लाइंड इंजेक्शन sleep() सेकंड |
--time-floor | सत्य निर्धारण: कुल समय ≥ यह मान (सेकंड); डिफ़ॉल्ट लगभग sleep - 1 |
--json-code-field / --json-code-true | बूलियन साइड चैनल द्वारा पढ़ा जाने वाला JSON फ़ील्ड और "सत्य" मान |
--skip-calibrate | प्रोब कैलिब्रेशन छोड़ें |
--only | version / database / both: केवल संस्करण, केवल डेटाबेस नाम या दोनों निकालें |
-H / -P | अतिरिक्त अनुरोध हेडर, अतिरिक्त क्वेरी पैरामीटर, दोहराए जा सकते हैं |
dump उपकमांड के अंतर्गत --schema-only, --dump-out, --dump-row-limit, --dump-select आदि भी हैं, देखें python cve-2026-5147.py -h।
| उपकमांड | अर्थ |
|---|---|
info (डिफ़ॉल्ट) | VERSION(), वर्तमान डेटाबेस नाम DATABASE() निकालें (--only से प्रभावित) |
dump | वर्तमान डेटाबेस तालिका नाम, प्रति तालिका कॉलम नाम और पंक्ति डेटा भी निकालें (या केवल schema, देखें --schema-only) |
main() में पहले calibrate_sqli_oracle, विफल होने पर effective_detect = "time" और bind_time_payload; टाइम मोड में फिर calibrate_time_oracle।--json-code-field के साथ संरेखित किया गया है (अब हार्डकोडेड code नहीं)।command का argparse सहायता सही किया गया है: डिफ़ॉल्ट उपकमांड info है, dump नहीं।स्क्रिप्ट केवल सुरक्षा अनुसंधान और अधिकृत परीक्षण के लिए है। उपयोगकर्ता को स्वयं सुनिश्चित करना होगा कि वे स्थानीय कानूनों और लक्ष्य वातावरण की प्राधिकरण सीमा का पालन करते हैं।