
CVE-2023-38545 के लिए प्रमाण-अवधारणा शोषण, एक curl हीप बफर ओवरफ्लो। भेद्यता को ट्रिगर करने और सिस्टम जोखिम निर्धारित करने के लिए SOCKS5 प्रॉक्सी और HTTP सर्वर शामिल है।
इस रिपॉजिटरी में CVE-2023-38545 भेद्यता के लिए सिस्टम का परीक्षण करने के लिए डिज़ाइन किया गया एक प्रूफ ऑफ कॉन्सेप्ट (PoC) शामिल है। यह भेद्यता कर्ल उपयोगिता को प्रभावित करती है, विशेष रूप से संस्करण 7.69.0 और 8.3.1 के बीच, और HTTP रीडायरेक्ट के हैंडलिंग से संबंधित है।
आवश्यक सॉफ्टवेयर: curl
PoC में दो मुख्य घटक शामिल हैं:
यह चरण वैकल्पिक है यदि आपके पास पहले से कोई socks5 प्रॉक्सी है जिसका आप उपयोग कर सकते हैं।
setup_socks5.sh चलाएँ
$ chmod +x setup_socks5.sh
$ ./setup_socks5.sh
यह आवश्यक निर्भरताएँ स्थापित करेगा और पोर्ट 1080 पर SOCKS5 प्रॉक्सी सर्वर सेट करेगा।
HTTP सर्वर शुरू करने के लिए निम्नलिखित कमांड चलाएँ:
$ python3 server.py
आप डीबग लॉगिंग के साथ भी सर्वर चला सकते हैं
$ python3 server.py --debug
सफल निष्पादन पर, HTTP सर्वर पोर्ट 8000 पर सुन रहा होगा।
पहले, स्क्रिप्ट को निष्पादन योग्य बनाएँ:
$ chmod +x cve202338545.sh
स्क्रिप्ट को --socks5-ip के साथ socks5 प्रॉक्सी पता और --http-ip के साथ http पता स्वीकार करने के लिए कॉन्फ़िगर किया जा सकता है, और --DEBUG के साथ डीबग लॉग आउटपुट कर सकता है
$ ./cve202338545.sh --socks5-ip <ip> --http-ip <ip> --DEBUG # प्रॉक्सी और HTTP सर्वर दोनों निर्दिष्ट करें
$ ./cve202338545.sh --socks5-ip <ip> # केवल प्रॉक्सी सर्वर निर्दिष्ट करें
$ ./cve202338545.sh --http-ip <ip> # केवल HTTP सर्वर निर्दिष्ट करें
$ ./cve202338545.sh # प्रॉक्सी और HTTP सर्वर दोनों localhost पर डिफ़ॉल्ट होंगे
$ ./cve202338545.sh --DEBUG # प्रॉक्सी और HTTP सर्वर दोनों localhost पर डिफ़ॉल्ट होंगे और डीबग चालू रहेगा
यह एक्सप्लॉइट आरंभ करेगा, और आपको आउटपुट दिखाई देना चाहिए जो इंगित करता है कि सिस्टम भेद्य है, भेद्य नहीं है, या परीक्षण अनिर्णायक था।
4 प्रतिक्रिया स्थितियाँ हैं:
यह चरण केवल तभी आवश्यक है यदि आपने चरण 1 से setup_socks5.sh का उपयोग किया है।
SOCKS5 प्रॉक्सी सर्वर को साफ करने के लिए, निम्नलिखित कमांड निष्पादित करें:
$ ./cleanup.sh