ThinkPHP 5 x遠端命令執行漏洞復現

2022-07-03 18:54:12 字數 1247 閱讀 7627

thinkphp 5.x遠端命令執行漏洞復現

一、漏洞描述

2023年12月10日,thinkphp官方發布了安全更新,其中修復了thinkphp5框架的乙個高危漏洞:

漏洞的原因是由於框架對控制器名沒有進行足夠的檢測,導致在沒有開啟強制路由(預設未開啟)的情況下可能導致遠端**執行,受影響的版本包括5.0和5.1。

二、漏洞影響版本

thinkphp 5.x-thinkphp 5.1.31

thinkphp 5.0.x<=5.0.23

三、漏洞復現

3、利用system函式遠端命令執行

payload如下:

4、通過phpinfo函式檢視phpinfo()的資訊 

payload如下:

5、寫入shell

payload如下:

注意:需要對特殊字元使用^轉義(cmd環境下轉義方式),windows環境的echo命令輸出字串到文件不用引號(單引號、雙引號),部分字元url編碼不編碼都行。

6、檢視是否成功寫入shell

7、菜刀連線

8、第二種的寫入shell的方法

payload如下:

9、檢視是否成功寫入檔案

10、菜刀連線

ThinkPHP5 x命令執行漏洞分析

在routecheck呼叫 request path 獲取相容模式s傳入的模組 控制器 方法 在routecheck中會讀取route.php中的路由並進行匹配傳入的路由,不成功會呼叫route parseurl處理 在parseurl函式1226行呼叫parseurlpath函式處理模組控制器方法...

thinkphp 5 x 3 x 檔案包含漏洞分析

漏洞描述 thinkphp在載入模版解析變數時存在變數覆蓋的問題,且沒有對 cachefile 進行相應的消毒處理,導致模板檔案的路徑可以被覆蓋,從而導致任意檔案包含漏洞的發生。主要還是變數覆蓋的問題。漏洞範圍 漏洞影響版本 5.0.0 thinkphp5 5.0.18 5.1.0 thinkphp...

Thinkphp5命令列自動生成

thinkphp5.0支援 console 應用,通過命令列的方式執行一些url訪問不方便或者安全性較高的操作。這裡只是其中幾條常用的指令,在此記下 php think build module test 執行上面的指令可以生成 乙個名字為test的模組 php think make control...