
दोनों nginx और apache सर्वरों पर एक कमजोर elfinder संस्करण सेटअप करने के लिए डॉकर कंटेनर। इसका उपयोग भेद्यता POC का परीक्षण करने के लिए किया जा सकता है।
इस रिपॉजिटरी में Docker का उपयोग करके CVE-2021-23394 (elFinder में मनमाना फ़ाइल निष्पादन) के लिए एक पुनरुत्पादन सेटअप शामिल है। यह चार वातावरण सेट करता है जो Apache और Nginx पर कमजोर (vulnerable) और पैच किए गए (patched) संस्करणों की तुलना करते हैं।
सेटअप में शामिल हैं:
8080): Apache पर elFinder 2.1.578081): Apache पर elFinder 2.1.668082): Nginx पर elFinder 2.1.578083): Nginx पर elFinder 2.1.66सेटअप स्क्रिप्ट को निष्पादन योग्य बनाएं (यदि पहले से नहीं है):
chmod +x setup_containers.sh
सेटअप स्क्रिप्ट चलाएं:
./setup_containers.sh
यह Docker इमेज बनाएगा और कंटेनर शुरू करेगा।
आप अपने ब्राउज़र में elFinder इंटरफ़ेस तक पहुँच सकते हैं:
कमजोरी (या फिक्स) को सत्यापित करने के लिए, उपयुक्त टेम्पलेट के साथ Nuclei का उपयोग करें।
निम्नलिखित कमांड चलाएं (path-to-nuclei-templates को अपने टेम्पलेट्स निर्देशिका के वास्तविक पथ से बदलें):
# Apache कमजोर का परीक्षण (कमजोर होना चाहिए)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8080
# Apache पैच किया गया का परीक्षण (कमजोर नहीं होना चाहिए)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8081
# Nginx कमजोर का परीक्षण (कमजोर होना चाहिए)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8082
# Nginx पैच किया गया का परीक्षण (कमजोर नहीं होना चाहिए)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8083
वैकल्पिक रूप से, एक targets.txt फ़ाइल बनाकर सभी का एक साथ परीक्षण करें:
echo -e "http://localhost:8080\nhttp://localhost:8081\nhttp://localhost:8082\nhttp://localhost:8083" > targets.txt
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -l targets.txt
अपेक्षित परिणाम:
कंटेनर को रोकने और हटाने के लिए, आप स्क्रिप्ट के अंदर क्लीनअप कमांड चला सकते हैं या मैन्युअल रूप से:
docker rm -f elfinder-apache-vuln elfinder-apache-patched elfinder-nginx-vuln elfinder-nginx-patched