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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
wp2shell-poc — पैच की गई wordpress RCE भेद्यता का विश्लेषण और एंड-टू-एंड कार्यान्वयन - CVE-2026-60137 और CVE-2026-63030 | Kitploit
उपकरण/GitHubGitHub/colere-sys/wp2shell-poc
शोषण फ्रेमवर्कभेद्यता विश्लेषणवेब एप्लिकेशन शोषणCTFपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षारेड टीमिंगपेलोड डेवलपमेंट
GitHubcolere-sys/wp2shell-poc

wp2shell-poc

पैच की गई wordpress RCE भेद्यता का विश्लेषण और एंड-टू-एंड कार्यान्वयन - CVE-2026-60137 और CVE-2026-63030

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

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

सभी देखें →

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

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

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

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

plot

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

plot

यह PoC सार्वजनिक wp2shell एक्सप्लॉइट्स से कैसे भिन्न है

सभी PoCs एक ही दो बग्स को हथियार बनाते हैं - REST बैच रूट कन्फ्यूज़न (CVE-2026-63030) और author__not_in SQL इंजेक्शन (CVE-2026-60137) - समान डबल-नेस्टेड बैच आकार के साथ। उनके बीच अंतर चुने गए RCE पथ, पर्यावरणीय पूर्वशर्तें, और सुरक्षा डिफ़ॉल्ट में है। यह दस्तावेज़ स्पष्ट रूप से बताता है कि इस रिपॉजिटरी में कार्यान्वयन उस परिदृश्य में कहाँ स्थित है।

संक्षिप्त संस्करण

  1. निरंतर ऑब्जेक्ट कैश के पीछे काम करता है। सार्वजनिक UNION-आधारित PoCs पॉपुलेटेड-बेस इंजेक्शन रूप का उपयोग करते हैं: इस वंशावली का साझा पूर्ण-श्रृंखला कार्यान्वयन वहाँ फाल्स-नेगेटिव देता है, और एकल-फ़ाइल यूनिफायर "कोई निरंतर ऑब्जेक्ट कैश नहीं" को एक स्पष्ट पूर्वशर्त के रूप में सूचीबद्ध करता है। इस रिपॉजिटरी का किल्ड-बेस रूप UNION चैनल - और इसलिए पूरे प्री-ऑथ RCE ब्रिज - को ठीक उन्हीं होस्ट्स पर जीवित रखता है (सामान्य मैनेज्ड-WordPress सेटअप)। §1 देखें।
  2. डिफ़ॉल्ट रूप से प्रोडक्शन के विरुद्ध चलाना सुरक्षित। check बिना पूछे कोई SQL पेलोड नहीं भेजता; सारा ट्रैफ़िक एक एट्रिब्यूशन टैग ले जा सकता है; कमांड टारगेट पर जो कुछ भी लिखता है वह बाद में स्वचालित रूप से हटा दिया जाता है। §3 देखें।
shell

तुलना तालिका

क्षमतायह रिपॉजिटरीIcex0/wp2shell-pocsergiointel/wp2shell-poc0xsha/wp2shellOUTFILE वैरिएंट [4]
प्री-ऑथ ब्लाइंड/टाइमिंग SQLi रीडहाँहाँहाँ (टाइमिंग)हाँहाँ
इन-बैंड UNION रीड (1 अनुरोध/मान)हाँहाँ- [1]- [1]-
एरर-आधारित रीड (EXTRACTVALUE)हाँहाँ---
UNION चैनल निरंतर ऑब्जेक्ट कैश में बचा रहता हैहाँ (किल्ड-बेस)नहीं - प्रोब फाल्स-नेगेटिव [2]प्रलेखित नहींनहीं - प्रलेखित पूर्वशर्त [3]लागू नहीं [5]
क्रैक-मुक्त प्री-ऑथ RCEहाँ (SQLi-से-एडमिन ब्रिज)हाँ (वही ब्रिज)हाँ (ब्रिज मूल)हाँ (वही ब्रिज)हाँ, INTO OUTFILE के माध्यम से [5]
RCE के लिए अतिरिक्त पूर्वशर्तेंडिफ़ॉल्ट इंस्टॉल के अतिरिक्त कोई नहींकोई नहीं (गैर-ऑब्जेक्ट-कैश होस्ट पर)कोई नहीं (समान)कोई नहीं (समान)MySQL FILE विशेषाधिकार + mysqld के साथ साझा वेब-राइटेबल पथ
गैर-विनाशकारी जाँच / पैच सत्यापनहाँ (मार्कर ट्रिपलेट; डिफ़ॉल्ट रूप से कोई पेलोड नहीं)हाँनहींहाँ (block_cannot_read)हाँ (मार्कर बैच)
एट्रिब्यूशन/User-Agent टैगिंगहाँ, सभी कमांड परनहींनहींट्रांसपोर्ट फ्लैगनहीं
स्वचालित क्लीनअप (वेबशेल + जनरेटेड एडमिन)हाँहाँप्रलेखित नहींकेवल टोकन-गेटेड वेबशेलड्रॉपर हटाया गया [5]
ब्लू-टीम डिटेक्शन गाइडहाँ, प्रोडक्शन रन सेनहींनहींइसके बजाय लैब मैट्रिक्सशमन नोट्स
निर्भरताएँकेवल stdlibकेवल stdlibएकल फ़ाइलकेवल stdlib, एकल फ़ाइलPython ≥3.10 पैकेज

[1] टाइमिंग/ब्लाइंड केवल रीड चैनल के रूप में; UNION फेक-पोस्ट प्रिमिटिव ब्रिज के अंदर मौजूद है लेकिन इसे एक्सट्रैक्शन ओरेकल के रूप में उजागर नहीं किया गया है। [2] सरल उपलब्धता प्रोब (0) UNION SELECT …) ऑब्जेक्ट-कैश हाइड्रेशन के दौरान चुपचाप छोड़ दिया जाता है, available() false लौटाता है, और पूरा प्री-ऑथ ब्रिज रुक जाता है - §1 देखें। [3] प्रोजेक्ट की अपनी README पूर्वशर्तों के अंतर्गत "कोई निरंतर ऑब्जेक्ट कैश नहीं (Redis/Memcached)" सूचीबद्ध करती है। [4] Sploitus पर मिरर किया गया सार्वजनिक वैरिएंट (नीचे लिंक): RCE चरण के रूप में ब्लाइंड रीड प्लस एक INTO OUTFILE ड्रॉपर, per_page=-1 कैटेगरी कैरियर का उपयोग करते हुए। [5] OUTFILE RCE पथ फेक-पोस्ट रेंडरिंग पर निर्भर नहीं करता, इसलिए ऑब्जेक्ट कैश इसे अवरुद्ध नहीं करते - MySQL FILE विशेषाधिकार और एक साझा राइटेबल डायरेक्टरी अवरुद्ध करते हैं। मैनेज्ड होस्टिंग लगभग कभी WordPress DB उपयोगकर्ता को FILE नहीं देती, और secure_file_priv सामान्यतः सेट होता है।

1. ऑब्जेक्ट-कैश समस्या (वास्तविक विभेदक)

UNION फेक-पोस्ट प्रिमिटिव इस पर निर्भर करता है कि WP_Query पंक्तियाँ कैसे लौटाता है:

  • फुल-रो मोड - SQL पूरी wp_posts पंक्तियाँ लौटाता है; एक UNION-इंजेक्टेड पंक्ति सीधे WP_Post बन जाती है। जालसाज़ी रेंडर होती है।
  • स्प्लिट (केवल-ID) मोड - SQL केवल IDs लौटाता है, और प्रत्येक ID को बाद में (निरंतर) ऑब्जेक्ट कैश / डेटाबेस के माध्यम से हाइड्रेट किया जाता है। जाली पंक्ति की ID मौजूद नहीं होती, इसलिए हाइड्रेशन उसे चुपचाप छोड़ देता है। कोई त्रुटि नहीं, कोई जाली पोस्ट नहीं।

निरंतर ऑब्जेक्ट कैश वाले होस्ट पर, एक भरा हुआ बेस परिणाम सेट WP_Query को स्प्लिट मोड में धकेल देता है। सार्वजनिक PoCs द्वारा उपयोग किया जाने वाला स्टॉक प्रोब -

root@kitploit:~
0) UNION SELECT <forged row> -- -
  • बेस सेट को भरा छोड़ देता है (post_author NOT IN (0) हर पंक्ति से मेल खाता है), इसलिए ऑब्जेक्ट कैश के पीछे जाली पंक्ति गायब हो जाती है: उपलब्धता प्रोब फाल्स-नेगेटिव देता है, available() false लौटाता है, और पूरा प्री-ऑथ ब्रिज एक ऐसे होस्ट पर "डेड" रिपोर्ट किया जाता है जो वास्तव में पूरी तरह शोषण योग्य है। सार्वजनिक यूनिफायर उसी सीमा को "कोई निरंतर ऑब्जेक्ट कैश नहीं" को कठोर पूर्वशर्त के रूप में सूचीबद्ध करके प्रलेखित करता है।

यह रिपॉजिटरी इसके बजाय बेस सेट को खाली कर देती है:

root@kitploit:~
1) AND 1=0 UNION ALL SELECT <forged row> -- -

शून्य बेस पंक्तियों के साथ, जाली पंक्ति एकमात्र पंक्ति होती है; क्वेरी फुल-रो मोड में रहती है; कोई हाइड्रेशन लुकअप कभी नहीं चलता। एक इंजेक्टेड कीवर्ड (AND 1=0) ऑब्जेक्ट-कैश वाले होस्ट पर "UNION चैनल डेड" और "पूर्ण प्री-ऑथ RCE" के बीच का पूरा अंतर है - जो मैनेज्ड WordPress प्रोडक्शन वातावरण का बहुमत हैं। निदान, प्रोब मैट्रिक्स (per_page × इंजेक्शन रूप)।

स्कोप नोट: ब्लाइंड/टाइमिंग रीड चैनल नहीं ऑब्जेक्ट-कैश-संवेदनशील है (SQL में पंक्तियाँ गिनने में फेक-पोस्ट हाइड्रेशन शामिल नहीं होता), इसलिए हर PoC की ब्लाइंड रीड हर जगह काम करती है। अन्य PoCs में ऑब्जेक्ट कैश विशेष रूप से UNION-निर्भर भाग को मारता है: इन-बैंड एक्सट्रैक्शन और SQLi-से-एडमिन ब्रिज।

केस स्टडी में प्रलेखित एक दूसरा, संबंधित सबक: जब दोनों चैनल काम करते हैं, तो इन-बैंड UNION रीड को आधिकारिक मानें - प्रोडक्शन टाइमिंग ओरेकल ने जिटर के तहत एक मान पर बिट फ्लिप उत्पन्न किए, जिसे इन-बैंड रीड ने स्पष्ट रूप से निपटाया।

2. RCE पथ चयन

सार्वजनिक PoCs में तीन प्री-ऑथ RCE पथ मौजूद हैं:

पथकिसके द्वारा उपयोगअतिरिक्त पूर्वशर्तें
SQLi-से-एडमिन ब्रिज (oEmbed/changeset/nav पंक्तियाँ बनाएँ → POST /wp/v2/users → लॉगिन → प्लगइन अपलोड)यह रिपॉजिटरी, sergiointel (मूल), Icex0, 0xshaडिफ़ॉल्ट इंस्टॉल के अतिरिक्त कोई नहीं
INTO OUTFILE ड्रॉपर (SQLi के माध्यम से PHP फ़ाइल लिखें, शेल के लिए उसे प्राप्त करें)OUTFILE वैरिएंट [4]MySQL FILE विशेषाधिकार, secure_file_priv का इसे अनुमति देना, और एक डायरेक्टरी जो mysqld द्वारा लिखने योग्य हो और वेब सर्वर द्वारा सर्व की जाती हो
हैश रिकवरी → क्रैक → लॉगिन (user_pass डंप करें, ऑफलाइन क्रैक करें, फिर प्लगइन अपलोड करें)सभी (फ़ॉलबैक के रूप में)bcrypt हैश वास्तव में क्रैक होना चाहिए ($wp$2y$, hashcat -m 35500) - धीमा, अक्सर कभी नहीं

यह रिपॉजिटरी ब्रिज को लागू करती है: इसे WordPress के पास पहले से मौजूद डेटाबेस विशेषाधिकारों के अतिरिक्त किसी विशेषाधिकार की आवश्यकता नहीं होती, यह तब काम करता है जब DB और वेब टियर कुछ भी साझा नहीं करते, और FILE-विशेषाधिकार पथ के निर्भर होने के लिए कोई फ़ाइल पीछे नहीं छोड़ता। इसका व्यापार-बंद जटिलता है - ब्रिज एक सात-पंक्ति वाला पॉइज़न्ड पोस्ट ग्राफ़ है - और यह ठीक वही स्थान है जहाँ §1 का ऑब्जेक्ट-कैश फाल्स-नेगेटिव पथ को छिपाने के लिए उपयोग होता था।

3. अधिकृत उपयोग के लिए सुरक्षा डिफ़ॉल्ट

केवल लैब ही नहीं, प्राधिकरण के तहत प्रोडक्शन सिस्टम के विरुद्ध चलाने के लिए निर्मित:

  • check डिफ़ॉल्ट रूप से गैर-विनाशकारी है - निष्क्रिय फिंगरप्रिंट प्लस एक सौम्य मार्कर बैच; जब तक --confirm-sqli न दिया जाए, कोई SQL पेलोड नहीं भेजा जाता। पैचिंग के बाद, गायब होने वाला मार्कर ट्रिपलेट फिक्स सत्यापन का काम भी करता है।
  • एट्रिब्यूशन टैगिंग - हर कमांड पर --user-agent ताकि सारा एक्सप्लॉइट ट्रैफ़िक लॉग्स में पहचाना जा सके (एक एंगेजमेंट नियम जिसे सार्वजनिक टूल डिफ़ॉल्ट रूप से उपयोग नहीं करते)।
  • स्वचालित क्लीनअप - वेबशेल एक रैंडमाइज़्ड पथ के तहत टोकन-लॉक होती है और स्वयं को हटा देती है; ब्रिज-निर्मित व्यवस्थापक को बाद में हटा दिया जाता है और उसकी सामग्री उधार लिए गए एडमिन खाते को सौंप दी जाती है। क्लीनअप की विफलता को ज़ोर से रिपोर्ट किया जाता है, निगला नहीं जाता।
  • अनुरोध लेखांकन - हर कमांड प्रिंट करता है कि उसने कितने अनुरोध भेजे।

4. यह रिपॉजिटरी नहीं दावा करती

  • कोई नई भेद्यता नहीं। दोनों बग सार्वजनिक रूप से प्रकट किए गए CVEs हैं; डबल-नेस्टेड बैच आकार, author_exclude → author__not_in सिंक, फेक-WP_Post UNION प्रिमिटिव, और कस्टमाइज़र-ब्रिज अवधारणा सभी सार्वजनिक तकनीकें हैं (वंशावली नीचे स्वीकार की गई है)।
  • कोई नई शोषण प्रिमिटिव नहीं। सार्वजनिक परिदृश्य से अंतर है: प्रोडक्शन साक्ष्य के साथ किल्ड-बेस ऑब्जेक्ट-कैश फिक्स, प्रोडक्शन-सुरक्षित डिफ़ॉल्ट, और डिटेक्शन प्रलेखन - तकनीक की नवीनता नहीं, बल्कि मजबूती और परिचालन सुरक्षा।
  • IoC स्ट्रिंग्स मनमानी हैं। लॉगिन उपसर्ग, प्लगइन स्लग, शेल मार्कर, और User-Agent मान हर वैरिएंट और हर रन में भिन्न होते हैं;

संदर्भ

  • Icex0/wp2shell-poc - पूर्ण-श्रृंखला कार्यान्वयन जो इस रिपॉजिटरी की वंशावली साझा करती है - https://github.com/Icex0/wp2shell-poc
  • sergiointel/wp2shell-poc - पहला सार्वजनिक PoC; क्रैक-मुक्त एडमिन-निर्माण तकनीक का मूल - https://github.com/sergiointel/wp2shell-poc
  • 0xsha/wp2shell - छह सार्वजनिक PoCs का एकल-फ़ाइल यूनिफायर, Docker लैब्स और एक version×DB मैट्रिक्स के साथ (ऑब्जेक्ट-कैश पूर्वशर्त का प्रलेखन करता है) - https://github.com/0xsha/wp2shell
  • OUTFILE वैरिएंट (ब्लाइंड रीड + INTO OUTFILE ड्रॉपर), Sploitus पर मिरर किया गया - https://sploitus.com/exploit?id=7CD079AD-E27B-5C54-A696-60635BFDB241
  • सार्वजनिक PoCs और चेकर्स की क्यूरेटेड सूची (डिफेंडरों के लिए) - https://www.cyberkendra.com/2026/07/wp2shell-guide.html
  • GHSA-ff9f-jf42-662q / GHSA-fpp7-x2x2-2mjf; WordPress 7.0.2 रिलीज़ घोषणा - README.md संदर्भ देखें।
टूल डाउनलोड करें