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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-12877-Exploit — GiveWP WordPress प्लगइन में PHP ऑब्जेक्ट इंजेक्शन के लिए शैक्षिक CVE-2024-12877 एक्सप्लॉइट डेमो। इसमें रूट कॉज़ विश्लेषण, regex बायपास तकनीकें और सुरक्षित एक्सप्लॉइटेशन प्रथाएँ शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/soltanali0/cve-2024-12877-exploit
स्थैतिक विश्लेषणभेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणCTFपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षापेलोड डेवलपमेंट
GitHubsoltanali0/cve-2024-12877-exploit

CVE-2024-12877-Exploit

GiveWP WordPress प्लगइन में PHP ऑब्जेक्ट इंजेक्शन के लिए शैक्षिक CVE-2024-12877 एक्सप्लॉइट डेमो। इसमें रूट कॉज़ विश्लेषण, regex बायपास तकनीकें और सुरक्षित एक्सप्लॉइटेशन प्रथाएँ शामिल हैं।

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

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

सभी देखें →

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

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

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

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

GO-TO CVE – CVE-2024-12877-Exploit

सप्ताह 66 | लेखक: Ali Soltani (soltanali0))

GO-TO CVE श्रृंखला के सप्ताह 66 में आपका स्वागत है, जहाँ हम कमजोरियों का विश्लेषण करते हैं, मूल कारणों की जाँच करते हैं, और एक सुरक्षित, शैक्षिक संदर्भ में व्यावहारिक शोषण तकनीकों का प्रदर्शन करते हैं।


🚨 अवलोकन

CVE-2024-12877 GiveWP में एक PHP Object Injection कमजोरी है, जो सबसे व्यापक रूप से उपयोग किए जाने वाले WordPress दान प्लगइन्स में से एक है। उपयोगकर्ता-नियंत्रित इनपुट पर unserialize() के असुरक्षित उपयोग से हमलावर PHP मैजिक मेथड्स (जैसे __wakeup()) को ट्रिगर कर सकते हैं, जिससे संभावित रूप से:

  • रिमोट कोड एक्ज़ीक्यूशन (RCE) ⚡
  • संवेदनशील डेटा की चोरी 🕵️‍♂️
  • विशेषाधिकार वृद्धि 🔑
  • पूर्ण सर्वर समझौता ☠️

CVSS: 9.8 Critical | Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H


🧩 GiveWP के बारे में

image

GiveWP हजारों चैरिटी वेबसाइटों, NGO और फंडरेज़िंग प्लेटफ़ॉर्म को संचालित करता है। चूँकि यह संवेदनशील वित्तीय और दाता डेटा संभालता है, यहाँ की कोई भी कमजोरी अत्यंत प्रभावशाली होती है। ऑब्जेक्ट इंजेक्शन का शोषण करने वाला हमलावर एक एकल प्लगइन से आगे बढ़कर पूरे WordPress इंस्टॉलेशन और अंतर्निहित सर्वर से समझौता कर सकता है।


⚙️ कमजोरी का विवरण

  • मूल कारण: अविश्वसनीय इनपुट पर unserialize()।

  • PHP मैजिक मेथड्स: PHP ऑब्जेक्ट जीवनचक्र के दौरान इन्हें स्वचालित रूप से लागू करता है:

  • यह कमजोरी उपयोगकर्ता-नियंत्रित इनपुट पर PHP फ़ंक्शन unserialize() के असुरक्षित उपयोग से उत्पन्न होती है। जबकि unserialize() को PHP डेटा संरचनाओं को पुनर्निर्मित करने के लिए डिज़ाइन किया गया है, इसका एक खतरनाक दुष्प्रभाव है: जब ऑब्जेक्ट पुनर्निर्मित होते हैं, PHP स्वचालित रूप से मैजिक मेथड्स को लागू करता है।

PHP में मैजिक मेथड्स

  • __wakeup() – जब कोई ऑब्जेक्ट अनसीरियलाइज़ होता है तो ट्रिगर होता है

  • __destruct(), __toString(), __get/__set(), __call/__callStatic() – दुर्भावनापूर्ण निष्पादन के लिए उपयोग किया जा सकता है

  • Regex सत्यापन: GiveWP ने सीरियलाइज़्ड इनपुट का पता लगाने के लिए regex जाँचें लागू कीं। जबकि नया regex अधिक डेटा प्रकारों को पकड़ता है, regex विश्वसनीय रूप से ऑब्जेक्ट इंजेक्शन को नहीं रोक सकता।

image

मुख्य अंतर्दृष्टि:

एक क्राफ्टेड सीरियलाइज़्ड ऑब्जेक्ट के साथ, हमलावर ऑब्जेक्ट प्रॉपर्टीज़ सेट करता है, और PHP स्वयं मैजिक मेथड्स को लागू करके हमलावर के लॉजिक को निष्पादित करता है।

Regex सत्यापन

GiveWP ने यह जाँचने के लिए regex-आधारित सत्यापन लागू किया कि इनपुट सीरियलाइज़्ड था या नहीं। पुराना Regex (अधूरा)

• केवल ऐरे और ऑब्जेक्ट को पहचानता था।

• अन्य सीरियलाइज़्ड प्रकार (string, int, bool, float, null) पहचान से बच जाते थे।

carbon

नया Regex (बेहतर, लेकिन त्रुटिपूर्ण)

• सभी PHP सीरियलाइज़्ड प्रकारों को पहचानता है।

• कुछ तुच्छ पेलोड को रोकता है।

• लेकिन मूल समस्या बनी रहती है: यदि उपयोगकर्ता इनपुट पर unserialize() का उपयोग किया जाता है, तो regex आपको नहीं बचा सकता।

carbon (1)

यह स्निपेट दो अलग-अलग regex कार्यान्वयनों की तुलना करने के लिए लिखा गया था:

• is_serialized_old() → पुराना संस्करण, जो केवल ऐरे और ऑब्जेक्ट का पता लगाता है।

• is_serialized_new() → बेहतर संस्करण, जो सभी PHP सीरियलाइज़्ड डेटा प्रकारों (arrays, objects, strings, integers, booleans, floats, और null) को पहचानता है। हम टेस्ट मानों का एक सेट बनाते हैं (array, object, string, integer, boolean, float, null), उन्हें सीरियलाइज़ करते हैं, और फिर प्रत्येक को दोनों regex फ़ंक्शनों के विरुद्ध जाँचते हैं। सरल शब्दों में:

image

और इस कोड को अपने Docker पर चलाने के बाद ब्राउज़र में यह परिणाम देखें

image

💥 एक्सप्लॉइट डेमो

चरण 1

carbon (2)

चरण 2: एक असुरक्षित क्लास बनाएँ

carbon (4)

इस क्लास में एक __wakeup() मेथड है जो अनसीरियलाइज़ होने पर स्वचालित रूप से निष्पादित होगी।

चरण 3: पेलोड तैयार करें

image

चरण 4: आउटपुट फ़ाइल को सेव करने के बाद, इस फ़ाइल पर आप यह एक्सप्लॉइट देख सकते हैं।

image

एक्सप्लॉइट :

image

• पुराना Regex: FALSE → पेलोड का पता लगाने में विफल रहा।

• नया Regex: TRUE → इसे सीरियलाइज़्ड इनपुट के रूप में पहचाना।

• निष्पादन: Hello RCE! → पेलोड अनसीरियलाइज़ किया गया, और मैजिक मेथड __wakeup() ने हमलावर-नियंत्रित कोड निष्पादित किया।

रोकथाम • अनट्रस्टेड इनपुट पर unserialize() का उपयोग न करें। इसे json_decode() या अन्य सुरक्षित विकल्पों से बदलें।

• GiveWP और सभी WordPress प्लगइन्स को अपडेट रखें।

• दुर्भावनापूर्ण सीरियलाइज़्ड पेलोड को ब्लॉक करने के लिए Web Application Firewall (WAF) तैनात करें।

• न्यूनतम विशेषाधिकार के सिद्धांत का पालन करें: PHP और डेटाबेस खातों को न्यूनतम आवश्यक अनुमतियों के साथ चलाएँ।

परिणाम:

  • पुराना Regex: ❌ पेलोड का पता लगाने में विफल
  • नया Regex: ✅ सीरियलाइज़्ड इनपुट का पता लगाता है लेकिन RCE को नहीं रोक सकता

मुख्य अंतर्दृष्टि: unserialize() को सुरक्षित करने के लिए regex पर कभी भरोसा न करें। सबसे सुरक्षित तरीका है अनट्रस्टेड इनपुट को पूरी तरह से अनसीरियलाइज़ करने से बचना।


🛡 रोकथाम

  • अनट्रस्टेड इनपुट पर unserialize() का उपयोग न करें; json_decode() या अन्य सुरक्षित विकल्पों को प्राथमिकता दें।
  • GiveWP और सभी WordPress प्लगइन्स को अपडेट रखें।
  • दुर्भावनापूर्ण पेलोड को ब्लॉक करने के लिए Web Application Firewall (WAF) तैनात करें।
  • PHP और डेटाबेस खातों के लिए न्यूनतम विशेषाधिकार के सिद्धांत को लागू करें।

📱 हमारे साप्ताहिक CVE विश्लेषण को फॉलो करें

मैं कमजोरी अनुसंधान और शोषण के लिए समर्पित दो Telegram चैनल चलाता हूँ:

  1. GO-TO CVE साप्ताहिक एपिसोड: हर सप्ताह, हम एक नए CVE में गहराई से उतरते हैं और विस्तृत विश्लेषण, डेमो और अंतर्दृष्टि साझा करते हैं। 🔗 यहाँ जुड़ें

  2. CVEdb – एक्सप्लॉइट संग्रह: यह चैनल CVEs के लिए 1-दिवसीय एक्सप्लॉइट्स और कस्टम PoCs को संग्रहीत करता है। उन शोधकर्ताओं के लिए एक बेहतरीन संसाधन जो सक्रिय शोषण तकनीकों को देखना चाहते हैं। 🔗 CVEdb से जुड़ें

नवीनतम CVEs, शोषण तकनीकों और सुरक्षा अनुसंधान अंतर्दृष्टि से अपडेट रहने के लिए चैनलों को फॉलो करें।


📚 संदर्भ

टूल डाउनलोड करें