
एक कंटेनरीकृत लैब वातावरण जो Elementor WordPress प्लगइन में DOM-आधारित XSS भेद्यता (CVE-2021-24891) का अनुकरण और शोषण करने के लिए है, व्यावहारिक सुरक्षा शिक्षा के लिए।
एक व्यावहारिक, कंटेनरीकृत प्रयोगशाला वातावरण जो Elementor Website Builder WordPress प्लगइन में पहचाने गए CVE-2021-24891 नामक DOM-आधारित क्रॉस-साइट स्क्रिप्टिंग (XSS) कमजोरी का अनुकरण और शोषण करने के लिए है।
यह प्रयोगशाला WordPress के लिए Elementor प्लगइन (संस्करण 3.4.8 से पहले) में एक DOM-आधारित क्रॉस-साइट स्क्रिप्टिंग (XSS) कमजोरी प्रदर्शित करती है। यह कमजोरी इसलिए होती है क्योंकि Elementor संपादक का क्लाइंट-साइड कोड URL के हैश (#...) से डेटा को सीधे पढ़ता है और बिना उचित स्वच्छता के उसे पेज के डॉक्यूमेंट ऑब्जेक्ट मॉडल (DOM) में जोड़ देता है।
एक हमलावर हैश खंड में जावास्क्रिप्ट पेलोड युक्त एक दुर्भावनापूर्ण लिंक बना सकता है। जब कोई लॉग-इन व्यवस्थापक (जैसे साइट संपादक) इस लिंक पर क्लिक करता है, तो दुर्भावनापूर्ण स्क्रिप्ट उनके ब्राउज़र सत्र के संदर्भ में निष्पादित होती है, जो संभावित रूप से हमलावर को उनकी ओर से कार्य करने, सत्र कुकीज़ चुराने या वेबसाइट को विकृत करने की अनुमति देती है।
# से शुरू होने वाले URL का वह भाग जो क्लाइंट-साइड पर प्रोसेस होता है और सर्वर को नहीं भेजा जाता। यह दुर्भावनापूर्ण पेलोड के लिए प्रवेश बिंदु है।इस रिपॉज़िटरी में प्रभावित Elementor प्लगइन के साथ एक कमजोर WordPress उदाहरण है, जो आपके शोषण के लिए तैयार है। प्रयोगशाला को क्लाउड में या आपकी स्थानीय मशीन पर तुरंत चलाया जा सकता है।
यह शुरू करने का सबसे आसान तरीका है। यह आपके ब्राउज़र में पूर्व-कॉन्फ़िगर किया गया, क्लाउड-आधारित वातावरण प्रदान करता है।
कोडस्पेस लॉन्च करें: इस README के शीर्ष पर "Open in GitHub Codespaces" बैज पर क्लिक करें।
सेटअप की प्रतीक्षा करें: GitHub आपका वातावरण तैयार करेगा। पूरा होने पर, एक टर्मिनल दिखाई देगा।
कमजोर सेवाएं प्रारंभ करें: VS Code टर्मिनल में, निम्नलिखित एकल कमांड चलाएं:
docker compose up
यह कमजोर WordPress साइट और उसके डेटाबेस को प्रारंभ करेगा। आपको एक "Ports" टैब दिखाई देगा। एक नए ब्राउज़र टैब में WordPress खोलने के लिए पोर्ट 8080 के लिंक पर क्लिक करें।
पूरी प्रयोगशाला को अपनी मशीन पर Docker के साथ चलाएं।
आवश्यक शर्तें:
निर्देश:
रिपॉज़िटरी क्लोन करें:
git clone https://github.com/hackmelocal/CVE-2021-24891-Simulation.git
cd CVE-2021-24891-Simulation
कमजोर सेवाएं प्रारंभ करें: अपने टर्मिनल में, कमांड चलाएं:
docker compose up
WordPress तक पहुंचें: अपना वेब ब्राउज़र खोलें और http://localhost:8080 पर जाएं।
Elementor संपादक के अंदर जावास्क्रिप्ट कोड window.location.hash से मान पढ़ता है और इसे असुरक्षित रूप से पेज के DOM में लिखता है। क्योंकि इनपुट (<script>alert(...)</script>) को स्वच्छ नहीं किया गया है, ब्राउज़र इसे एक वैध स्क्रिप्ट टैग के रूप में व्याख्यायित करता है और निष्पादित करता है। यह DOM-आधारित XSS का एक क्लासिक उदाहरण है।
यह प्रयोगशाला केवल शैक्षिक उद्देश्यों के लिए प्रदान की गई है। निर्माता प्रदान की गई जानकारी या उपकरणों के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है। कोई भी सुरक्षा परीक्षण करने से पहले हमेशा सुनिश्चित करें कि आपके पास उचित प्राधिकरण है।
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।