
Mongo Vulnub Lab...Try to Hack IT.....!
चुनौती अवलोकन
यह Capture The Flag (CTF) चुनौती CVE-2024-53900 पर आधारित है, जो Mongoose में एक कमजोरी है जो MongoDB क्वेरीज़ में $where ऑपरेटर के अनुचित उपयोग के कारण Remote Code Execution (RCE) की अनुमति देती है।
आपका उद्देश्य इस कमजोरी का शोषण करना और एप्लिकेशन के अंदर छिपे हुए ध्वज (flag) को प्राप्त करना है!
सेटअप निर्देश
1 निर्भरताएँ स्थापित करें सुनिश्चित करें कि आपके पास Node.js स्थापित है, फिर चलाएँ:
npm install
2 MongoDB कॉन्फ़िगर करें MongoDB स्थापित करें और सुनिश्चित करें कि यह चल रहा है। रूट डायरेक्टरी में निम्नलिखित सामग्री के साथ .env फ़ाइल बनाएँ:
MONGO_URI=mongodb://localhost:27017/ctf_db
3 सर्वर प्रारंभ करें कमजोर Express सर्वर चलाएँ:
node server.js
सर्वर http://localhost:3000 पर प्रारंभ होगा।
चुनौती का उद्देश्य
आपका लक्ष्य प्रमाणीकरण को बायपास करना और कमजोर एंडपॉइंट से ध्वज (flag) निकालना है।
कमजोर एंडपॉइंट:
POST /login
एप्लिकेशन एक असुरक्षित MongoDB $where क्वेरी का उपयोग करता है, जो इसे NoSQL इंजेक्शन और RCE के प्रति संवेदनशील बनाता है।
शोषण संकेत:
क्वेरी में हेरफेर करने के लिए NoSQL इंजेक्शन पेलोड आज़माएँ।
$where कंडीशन में जावास्क्रिप्ट कोड इंजेक्ट करें।
प्रतिक्रिया में छिपे हुए ध्वज (flag) को प्राप्त करें।
डायरेक्टरी संरचना
│── public/ Frontend assets
│ ├── index.html CTF challenge UI
│ ├── style.css Styling for the challenge
│ └── script.js JavaScript for login request
│── .env Environment variables (MongoDB URI)
│── server.js Vulnerable Express.js server
│── package.json Dependencies & scripts
│── package-lock.json Lock file for dependencies
└── README.md Challenge guide (this file)
जीतने की शर्त
यदि आप सफलतापूर्वक कमजोरी का शोषण करते हैं, तो आपको यह प्रतिक्रिया मिलेगी:
Login Successful! Here is your flag: FLAG{**__****}