
WordPress wp2shell प्री-ऑथ RCE श्रृंखला (CVE-2026-63030 + CVE-2026-60137) के लिए गैर-आक्रामक डिटेक्शन स्कैनर। केवल डिटेक्शन, कोई शोषण नहीं।
हाल की WordPress कोर भेद्यताओं के लिए गैर-आक्रामक डिटेक्शन स्कैनर — जिसमें wp2shell प्री-ऑथेंटिकेशन RCE श्रृंखला भी शामिल है।
wp2shell_scanner.py किसी WordPress साइट के कोर संस्करण का फ़िंगरप्रिंट लेता है और उसकी सार्वजनिक रूप से विज्ञापित REST API सतह को पढ़ता है, फिर प्रत्येक ट्रैक किए गए कोर CVE को पहचाने गए संस्करण के विरुद्ध स्वतंत्र रूप से वर्गीकृत करता है। निर्णय ब्रांच-जागरूक होते हैं — उदा. एक 6.8.x साइट को SQL-इंजेक्शन CVE के प्रति एक्सपोज़्ड सही ढंग से रिपोर्ट किया जाता है, लेकिन पूर्ण RCE श्रृंखला के प्रति नहीं। यह केवल डिटेक्ट करता है: कोई एक्सप्लॉइट पेलोड कभी नहीं भेजा जाता। एकल फ़ाइल, एक निर्भरता (requests), CI-अनुकूल एग्ज़िट कोड, और क्लाइंट-रेडी HTML / JSON / ई-मेल रिपोर्ट।
⚠️ केवल अधिकृत उपयोग। केवल उन साइटों को स्कैन करें जो आपकी हैं या जिनके परीक्षण के लिए आप स्पष्ट रूप से (लिखित रूप में) अधिकृत हैं। स्कैनर एक पहचान योग्य
User-Agentभेजता है ताकि ब्लू टीमें ट्रैफ़िक का स्रोत पहचान सकें — यह छिपता नहीं है।
| CVE | कमज़ोरी | पहुँच | प्रभावित कोर | समाधान संस्करण |
|---|---|---|---|---|
| CVE-2026-63030 — wp2shell | CWE-436 — REST बैच रूट कन्फ्यूज़न → RCE (क्रिटिकल; CVSS 9.8 WPScan CNA / 7.5 CISA-ADP; GHSA-ff9f-jf42-662q) | बिना प्रमाणीकरण | 6.9.0–6.9.4, 7.0.0–7.0.1 | 6.9.5, 7.0.2 |
| CVE-2026-60137 | CWE-89 — WP_Query के author__not_in में SQL इंजेक्शन (स्टैंडअलोन रूप में मध्यम, CVSS 5.9; श्रृंखला में क्रिटिकल; GHSA-fpp7-x2x2-2mjf) | बिना प्रमाणीकरण | 6.8.0–6.8.5, 6.9.0–6.9.4, 7.0.0–7.0.1 | 6.8.6, 6.9.5, 7.0.2 |
| CVE-2026-3906 | CWE-862 — Notes REST API में अनुपलब्ध प्राधिकरण (मध्यम, CVSS 4.3, GHSA-6x83-fcf5-r65g) | सब्सक्राइबर+ | 6.9.0–6.9.1 | 6.9.2 |
wp2shell RCE श्रृंखला = CVE-2026-63030 + CVE-2026-60137 एक साथ → डिफ़ॉल्ट इंस्टॉल पर प्री-ऑथ रिमोट कोड एक्सीक्यूशन। स्कैनर श्रृंखला को केवल तभी एक्सपोज़्ड रिपोर्ट करता है जब दोनों CVE पहचाने गए संस्करण के लिए भेद्य के रूप में वर्गीकृत हों।
ब्रांच की बारीकियाँ जिन्हें स्कैनर सही पकड़ता है:
6.8.x में केवल SQL इंजेक्शन (CVE-2026-60137) है — RCE श्रृंखला नहीं।6.9 ब्रांच पर, CVE-2026-3906 (Notes) 6.9.2 में ठीक हो जाता है, लेकिन wp2shell श्रृंखला 6.9.5 तक बंद नहीं होती। इसलिए 6.9.2/6.9.4 Notes बग के लिए पैच्ड पढ़े जाते हैं फिर भी RCE श्रृंखला के लिए भेद्य बने रहते हैं — इसलिए स्कैनर उस ब्रांच पर केवल 6.9.5 या बाद के संस्करण की अनुशंसा करता है, कभी 6.9.4 की नहीं।परिचालन रूप से महत्वपूर्ण: wp2shell के लिए तकनीकी विवरण और एक कार्यशील PoC पहले से ही सार्वजनिक हैं। संस्करण पहचान अब पूर्ण न्यूनतम है — प्राथमिकता पैचिंग है। अपडेट करने से भेद्य पथ बंद होता है लेकिन पैच से पहले लगाया गया बैकडोर नहीं हटता — इसलिए रिपोर्ट में समझौता-आकलन (compromise assessment) चरण शामिल है।
यह एक कोर-संस्करण स्कैनर है। प्लगइन और थीम CVE — WPScan / Patchstack कैटलॉग का बड़ा हिस्सा — के लिए लाइव, क्यूरेटेड फ़ीड और प्रति-प्लगइन संस्करण गणना की आवश्यकता होती है, और ये जानबूझकर यहाँ दायरे से बाहर हैं। अपनी सीमा (हाल के WordPress कोर CVE) के भीतर, यह किसी व्यावसायिक भेद्यता डेटाबेस की नकल करने के बजाय सटीक और ब्रांच-सटीक होने का लक्ष्य रखता है।
<meta name="generator">/readme.html<generator> टैग/wp-links-opml.php (OPML)/wp-json/ पढ़ता है कि WordPress अपने REST इंडेक्स में batch/v1 नेमस्पेस विज्ञापित करता है या नहीं। यह पुष्टि करता है कि नेमस्पेस पंजीकृत है, नहीं कि एंडपॉइंट WAF के माध्यम से पहुँच योग्य है। कोई बैच अनुरोध और कोई पेलोड नहीं भेजा जाता।यह किसी भी चीज़ का शोषण नहीं करता। कोई SQL-इंजेक्शन पेलोड नहीं, कोई बैच-रूट-कन्फ्यूज़न अनुरोध नहीं, कोड निष्पादित करने या डेटा पढ़ने का कोई प्रयास नहीं। पहचान संस्करण-आधारित है और साथ ही सार्वजनिक रूप से विज्ञापित API सतह का एक निष्क्रिय पठन है।
pip install requests
# single target
python3 wp2shell_scanner.py -t https://site.example --authorized
# list of targets (one per line, # comments allowed)
python3 wp2shell_scanner.py -T scope.txt --authorized -o ./reports
# preview the output formats with synthetic data — no network, no auth needed
python3 wp2shell_scanner.py --demo -o ./reports
| फ़्लैग | अर्थ |
|---|---|
-t, --target | एकल लक्ष्य URL या होस्ट |
-T, --targets-file | फ़ाइल जिसमें प्रति पंक्ति एक लक्ष्य हो |
--demo | सिंथेटिक डेटा से एक नमूना रिपोर्ट/ई-मेल जनरेट करें (कोई नेटवर्क नहीं) |
-o, --output-dir | आउटपुट निर्देशिका (डिफ़ॉल्ट ./wp2shell_reports) |
--formats | कॉमा सूची: json,html,email (डिफ़ॉल्ट: सभी) |
--authorized | प्राधिकरण गेट — लाइव स्कैन के लिए आवश्यक |
--timeout | HTTP टाइमआउट सेकंड में (डिफ़ॉल्ट 12) |
--delay | लक्ष्यों के बीच सेकंड (विनम्र रहें; डिफ़ॉल्ट 1.0) |
--insecure | TLS प्रमाणपत्र सत्यापित न करें |
--quiet | कंसोल सारांश छुपाएँ |
--authorized फ़्लैग एक स्पष्ट प्राधिकरण गेट है — इसके बिना लाइव स्कैन चलने से इनकार कर देते हैं।
| कोड | अर्थ |
|---|---|
2 | कम से कम एक लक्ष्य भेद्य है |
1 | कम से कम एक लक्ष्य अनिर्णीत / त्रुटि है |
0 | स्वच्छ (पैच्ड / प्रभावित नहीं / WordPress नहीं) |
अधिसूचना ई-मेल प्राप्तकर्ता स्क्रिप्ट के शीर्ष के पास CSSLTD_CONTACT स्थिरांक है (डिफ़ॉल्ट [email protected])। इसे अपने स्वयं के इनटेक पते पर संपादित करें।
| निर्णय | अर्थ |
|---|---|
VULNERABLE | पहचाना गया संस्करण प्रभावित सीमा के अंदर आता है — तुरंत पैच करें |
PATCHED | फिक्स्ड रिलीज़ पर; ट्रैक किए गए CVE के प्रति एक्सपोज़्ड नहीं |
NOT_AFFECTED | संस्करण सबसे पुरानी ट्रैक की गई भेद्यता से पहले का है (< 6.8.0 — CVE-2026-60137) |
UNKNOWN | संस्करण की पुष्टि नहीं हो सकी, वेक्टर असहमत थे, या प्री-रिलीज़ बिल्ड देखा गया — मैन्युअल रूप से सत्यापित करें |
NOT_WORDPRESS | कोई WordPress फ़िंगरप्रिंट नहीं मिला |
examples/ निर्देशिका में एक काल्पनिक भेद्य होस्ट (example.com, WordPress 6.9.1 — तीनों ट्रैक किए गए CVE के प्रति एक्सपोज़्ड) के लिए सिंथेटिक (--demo) आउटपुट है:
wp2shell_report_example.com.html — क्लाइंट-रेडी HTML रिपोर्टwp2shell_example.com.json — JSON रिकॉर्डwp2shell_email_example.com.txt — ड्राफ्ट अधिसूचना ई-मेल