ThinkPHP5 x命令執行漏洞分析

2022-07-10 22:15:16 字數 976 閱讀 1820

在routecheck呼叫$request->path();獲取相容模式s傳入的模組/控制器/方法

在routecheck中會讀取route.php中的路由並進行匹配傳入的路由,不成功會呼叫route::parseurl處理

,在parseurl函式1226行呼叫parseurlpath函式處理模組控制器方法串,使用/分割

parseurl中把parseurlpath函式返回的陣列:

list($path, $var) = self::parseurlpath($url);

//$module = index

$controller = !empty($path) ? array_shift($path) : null;

$action = !empty($path) ? array_shift($path) : null;

$action = invokefunction

所以這個地方payload s=module/controller/action

controller不使用/而使用\分割成命名空間形式即可,這個地方不要第乙個\也可以

然後$route = [$module, $controller, $action]; 封裝返回

tp5rce-dopath

這裡往下呼叫處理路由就結束了,會return上面封裝那個陣列

type為module,case分支執行:

$data = self::module(

$dispatch['module'],

$config,

isset($dispatch['convert']) ? $dispatch['convert'] : null

);在module函式中578行進行了控制器例項化

在592行進行了函式呼叫

0x03 3.x系列呢

看完5.x我又跑回去看了3.x,從3.2.3一直找到2.2全部由下圖**

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

thinkphp 5.x遠端命令執行漏洞復現 一 漏洞描述 2018年12月10日,thinkphp官方發布了安全更新,其中修復了thinkphp5框架的乙個高危漏洞 漏洞的原因是由於框架對控制器名沒有進行足夠的檢測,導致在沒有開啟強制路由 預設未開啟 的情況下可能導致遠端 執行,受影響的版本包括5...

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

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

快客電郵 QuarkMail 遠端命令執行漏洞

漏洞說明 快客電郵 quarkmail 是北京雄智偉業科技公司推出的電子郵件系統,被廣泛用於各個領域的電子郵件解決方案,其webmail部分使用perl cgi編寫,但是80sec在其系統中發現乙個重大的安全漏洞,導致遠端使用者可以在郵件系統上以當前程序身份執行任意命令,從而進一步控制主機或者系統。...