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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
mongobleed — CVE-2025-14847 explaination and lab | Kitploit
उपकरण/GitHubGitHub/adolfbharath/mongobleed
Vulnerability AnalysisNetwork SecurityCryptographyLearning & EducationDatabase SecurityLabs & Practice
GitHubadolfbharath/mongobleed

mongobleed

CVE-2025-14847 explaination and lab

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

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

सभी देखें →

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

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

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

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

MongoDB संपीड़न लीक लैब (सुरक्षित, शैक्षिक)

संदर्भ CVE : CVE-2025-14847

यह रिपॉजिटरी एक शैक्षिक लैब है जो डेटाबेस वायर प्रोटोकॉल में अक्सर "संपीड़न फ्रेमिंग / आकार-मेटाडेटा मेमोरी डिस्क्लोज़र" के रूप में वर्णित समस्याओं के वर्ग के पीछे की अवधारणा को प्रदर्शित करती है।

यह रक्षात्मक समझ का समर्थन करने के लिए लिखा गया है: MongoDB नेटवर्क संपीड़न कैसे वार्तालापित और फ्रेम किया जाता है, आकार फ़ील्ड क्यों मायने रखते हैं, और मजबूत पार्सर अनपेक्षित मेमोरी एक्सपोज़र को कैसे रोकते हैं।

CVE संदर्भ पर ध्यान दें: यह लैब CVE-2025-14847 के रूप में संदर्भित विचार के आसपास तैयार की गई है। यह रिपॉजिटरी किसी विशिष्ट विक्रेता बग को मान्य, पुनरुत्पादित या शोषण नहीं करती है या यह दावा नहीं करती है कि कोई विशेष MongoDB संस्करण प्रभावित है। यह सामान्य विफलता मोड (संपीड़ित पेलोड के आसपास बेमेल आकार मेटाडेटा) और शमन पर केंद्रित है।

संस्करण स्थिति (कमजोर बनाम पैच किया गया)

यह रिपॉजिटरी शामिल नहीं करती (और इसका उपयोग नहीं किया जाना चाहिए) किसी विशिष्ट CVE के लिए कौन से MongoDB संस्करण कमजोर या पैच किए गए हैं, इसके प्रमाण के रूप में।

किसी रिपोर्ट के लिए "कमजोर" बनाम "पैच किया गया" संस्करणों को सही ढंग से दस्तावेज़ित करने के लिए, CVE के लिए आधिकारिक विक्रेता सलाह / रिलीज़ नोट्स का उपयोग करें और उसे उद्धृत करें।

आप जो चला रहे हैं उसे सत्यापित करने के लिए व्यावहारिक कदम:

  • Docker कंटेनर संस्करण:
    • docker compose exec mongodb mongod --version
    • या docker compose exec mongodb mongosh --quiet --eval "db.version()"
  • होस्ट इंस्टॉलेशन संस्करण:
    • mongod --version
    • mongosh --quiet --eval "db.version()"

यदि आप उस सलाह लिंक को साझा करते हैं जिसका आप उपयोग कर रहे हैं, तो मैं बिना अनुमान लगाए README में एक साफ "प्रभावित / ठीक किया गया" तालिका प्रारूपित कर सकता हूं।

कमजोरी क्या है (अवधारणात्मक रूप से)

यह लैब एक संपीड़न फ्रेमिंग / आकार-मेटाडेटा बेमेल विफलता मोड को दर्शाती है:

  • MongoDB संदेश लंबाई-उपसर्गित होते हैं। नेटवर्क संपीड़न के साथ, एक OP_COMPRESSED लिफाफा अधिक आकार फ़ील्ड जोड़ता है (बाहरी संदेश लंबाई, घोषित असम्पीडित आकार, और आंतरिक संदेश की अपनी लंबाई)।
  • यदि कोई कार्यान्वयन सख्त सत्यापन के बिना इनमें से किसी भी आकार फ़ील्ड पर भरोसा करता है, तो यह विघटन या पार्सिंग के दौरान बफ़र्स को गलत तरीके से संभाल सकता है।
  • बगी कार्यान्वयन में, यह सीमा से बाहर पढ़ने या अप्रारंभीकृत बफ़र बाइट्स लौटाने का कारण बन सकता है, जो "मेमोरी डिस्क्लोज़र" होने का एक तरीका है।

विस्तृत फ्रेमिंग वॉकथ्रू के लिए protocol_overview.md देखें।

नैतिक अस्वीकरण

  • यह परियोजना डिज़ाइन द्वारा गैर-शोषणीय है।
  • इसमें हथियारबंद तर्क, शोषण कोड, या सिस्टम से समझौता करने के इरादे से तकनीकें शामिल नहीं हैं।
  • इसे केवल यहां प्रदान किए गए स्थानीय Docker कंटेनर के विरुद्ध चलाया जाना चाहिए।
  • इस कोड को उन सिस्टमों पर इंगित न करें जिनके आप मालिक नहीं हैं या जिनका परीक्षण करने की आपके पास स्पष्ट अनुमति नहीं है।

सीखने के उद्देश्य

लैब के अंत तक, आपको सक्षम होना चाहिए:

  • समझाएं कि MongoDB का वायर प्रोटोकॉल फ्रेमिंग उच्च स्तर पर कैसे काम करता है।
  • वर्णन करें कि zlib नेटवर्क संपीड़न कैसे वार्तालापित और लागू किया जाता है।
  • समझें कि कैसे दोषपूर्ण लंबाई / आकार मेटाडेटा अवधारणात्मक रूप से एक बगी कार्यान्वयन में मेमोरी एक्सपोज़र का कारण बन सकता है।
  • व्यावहारिक शमन की पहचान करें: पैचिंग, कॉन्फ़िगरेशन हार्डनिंग, और नेटवर्क डिटेक्शन।

यह रिपॉजिटरी क्या करती है (और क्या नहीं करती)

यह करती है:

  • MongoDB को Docker में zlib संपीड़न सक्षम के साथ प्रारंभ करें।
  • एक छोटे, मूल Python क्लाइंट का उपयोग करें:
    • compression: ["zlib"] सहित एक असम्पीडित hello भेजें
    • zlib का उपयोग करके एक सही ढंग से फ्रेम किया गया OP_COMPRESSED संदेश भेजें
    • असम्पीडित बनाम संपीड़ित आकार और सर्वर प्रतिक्रियाओं का सारांश लॉग करें
  • एक स्थानीय "खिलौना पार्सर" प्रदर्शन शामिल करें जो दिखाता है कि एक रक्षात्मक पार्सर बेमेल आकार मेटाडेटा को कैसे अस्वीकार करता है।

यह नहीं करती:

  • वास्तविक दुनिया के शोषण के लिए दुर्भावनापूर्ण पैकेट नहीं बनाती।
  • प्रमाणीकरण बाईपास का प्रयास नहीं करती।
  • मनमानी मेमोरी पढ़ने का प्रयास नहीं करती।

रिपॉजिटरी सामग्री

  • docker-compose.yml – zlib संपीड़न सक्षम और केवल लोकलहोस्ट-एक्सपोज़र के साथ एक MongoDB कंटेनर चलाता है।
  • protocol_overview.md – वायर प्रोटोकॉल + BSON + संपीड़न वर्कफ़्लो + वैचारिक कमजोरी स्पष्टीकरण।
  • mitigation.md – रक्षा मार्गदर्शन: पैचिंग, कॉन्फ़िग, और डिटेक्शन विचार।
  • lab_probe.py – मूल जांच जो संपीड़न पर वार्तालाप करती है और संदेश आकार को सुरक्षित रूप से लॉग करती है।

लैब को सुरक्षित रूप से कैसे चलाएं

1) पूर्वापेक्षाएँ

  • Docker Desktop (या संगत Docker इंजन)
  • Python 3.10+ (अनुशंसित)

2) MongoDB प्रारंभ करें

इस रिपॉजिटरी निर्देशिका से:

root@kitploit:~
docker compose up -d

पुष्टि करें कि यह चल रहा है:

root@kitploit:~
docker compose ps

3) जांच चलाएं

root@kitploit:~
python .\lab_probe.py

अपेक्षित आउटपुट:

  • पहले hello से वार्तालापित कंप्रेसर प्रिंट करता है
  • अनुरोध/प्रतिक्रिया आकार प्रिंट करता है
  • एक संपीड़ित hello भेजता है और दोनों संपीड़ित और विघटित संदेश आकार लॉग करता है

4) खिलौना डेमो चलाएं (कोई नेटवर्क नहीं)

root@kitploit:~
python .\lab_probe.py --toy-demo

यह केवल स्थानीय पार्सिंग जाँच चलाता है ताकि यह दर्शाया जा सके कि आकार सत्यापन क्यों मायने रखता है।

5) बंद करें

root@kitploit:~
docker compose down

सुरक्षा नोट्स

  • कंटेनर होस्ट पर 127.0.0.1:27017 से बंधा है।
  • कोई शोषण व्यवहार मौजूद नहीं है।
  • जांच रूढ़िवादी सीमाएं लागू करती है (जैसे, अधिकतम संदेश आकार) और सभी लंबाई फ़ील्ड को मान्य करती है।

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