
CVE-2024-51567 CyberPanel v2.3.6 के upgrademysqlstatus एंडपॉइंट में RCE भेद्यता को लक्षित करने वाला Python PoC एक्सप्लॉइट है, जो CSRF सुरक्षा को बायपास करता है।
CVE-2024-51567 एक Python प्रूफ-ऑफ-कॉन्सेप्ट (PoC) एक्सप्लॉइट स्क्रिप्ट है जो CVE-2024-51567 के लिए है, जो CyberPanel v2.3.6 को प्रभावित करने वाली एक गंभीर कमांड इंजेक्शन भेद्यता है। upgrademysqlstatus एंडपॉइंट में पाई गई यह भेद्यता, CSRF सुरक्षा को बायपास करके और विशिष्ट पैरामीटर में शेल मेटाकैरेक्टर का उपयोग करके दूरस्थ कमांड निष्पादन (RCE) को सक्षम बनाती है।
⚠️ महत्वपूर्ण अस्वीकरण: यह स्क्रिप्ट केवल शैक्षिक उद्देश्यों और उन सिस्टमों पर अधिकृत सुरक्षा परीक्षण के लिए है जिनके आप स्वामी हैं या जिनके परीक्षण की आपको स्पष्ट अनुमति है। किसी भी सिस्टम पर इस स्क्रिप्ट का अनधिकृत उपयोग अवैध है और कानून द्वारा दंडनीय है। लेखक किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है। हमेशा नैतिक मानकों और लागू कानूनों का पालन करें।
databases/views.py में upgrademysqlstatus एंडपॉइंट (कमिट 5b08cd6 से पहले) दूरस्थ हमलावरों को secMiddleware सुरक्षा को बायपास करके मनमानी कमांड निष्पादित करने की अनुमति देता है, जो केवल POST अनुरोधों को फ़िल्टर करता है। इस भेद्यता का शोषण statusfile पैरामीटर में शेल मेटाकैरेक्टर का उपयोग करके किया जा सकता है।/dataBases/upgrademysqlstatus एंडपॉइंट के माध्यम से एक संवेदनशील CyberPanel सर्वर पर दूरस्थ कमांड निष्पादित करता हैhttpx मॉड्यूलgit clone https://github.com/ajayalf/CVE-2024-51567.git
cd CVE-2024-51567
httpx स्थापित है:
pip install httpx
एकल लक्ष्य पर स्क्रिप्ट चलाने के लिए, निम्नलिखित कमांड का उपयोग करें:
python CVE-2024-51567.py <target-url>
उदाहरण:
python CVE-2024-51567.py http://example.com
एकाधिक लक्ष्यों पर स्क्रिप्ट चलाने के लिए, लक्ष्य URL की सूची वाली एक टेक्स्ट फ़ाइल बनाएँ (प्रति पंक्ति एक URL), और कमांड का उपयोग करें:
python CVE-2024-51567.py <targets.txt>
उदाहरण:
python CVE-2024-51567.py targets.txt
यदि आप एकाधिक लक्ष्यों का उपयोग करना चाहते हैं, तो targets.txt या कोई अन्य पसंदीदा नाम वाली टेक्स्ट फ़ाइल बनाएँ। फ़ाइल का प्रारूप URL की सूची होना चाहिए, जिसमें प्रति पंक्ति एक URL हो, जैसा नीचे दिखाया गया है:
http://target1.com
http://target2.com
http://target3.com
स्क्रिप्ट के लक्ष्य से जुड़ने के बाद, आप लक्ष्य सर्वर पर निष्पादित करने के लिए शेल कमांड दर्ज कर सकते हैं। बाहर निकलने के लिए exit या quit टाइप करें।
get_CSRF_token(client): लक्ष्य के मुख्य पृष्ठ से कुकीज़ में CSRF टोकन प्राप्त करता है।
client (एक httpx.Client ऑब्जेक्ट)pwn(client, CSRF_token, cmd): CSRF टोकन और वांछित कमांड के साथ एक तैयार पेलोड भेजता है।
client (एक httpx.Client ऑब्जेक्ट), CSRF_token (स्ट्रिंग), cmd (स्ट्रिंग)exploit(client, cmd): लक्ष्य पर कमांड चलाने के लिए pwn फ़ंक्शन निष्पादित करता है और आउटपुट प्रिंट करता है।
client (एक httpx.Client ऑब्जेक्ट), cmd (स्ट्रिंग)run_exploit(target): लक्ष्य के लिए एक कनेक्शन आरंभ करता है और एक इंटरैक्टिव कमांड लूप शुरू करता है।
target (स्ट्रिंग, लक्ष्य URL)exit या quit टाइप करने तक कमांड प्राप्त करता है।मुख्य निष्पादन: तर्क की जाँच करता है कि लक्ष्य एक एकल URL है या एकाधिक लक्ष्यों वाली फ़ाइल है।
यदि कुकीज़ में CSRF टोकन नहीं मिलता है, तो स्क्रिप्ट सभी प्राप्त कुकीज़ प्रिंट करेगी और एक सहायक त्रुटि संदेश के साथ बाहर निकल जाएगी।
/ सही एंडपॉइंट है। यदि यह अलग है, तो फ़ंक्शन get_CSRF_token को तदनुसार संशोधित करें।इस भेद्यता के बारे में अधिक जानकारी के लिए, कृपया निम्नलिखित संसाधनों को देखें: