跟著小編一起動手操作吧!
ThinkPHP5遠程代碼執行漏洞
實驗內容
ThinkPHP是一個免費開源的快速、簡單、面向對象的輕量級PHP開發框架,是為了敏捷Web應用開發和簡化企業應用開發而誕生。
ThinkPHP 5.0版本是一個顛覆和重構版本,採用全新的架構思想,引入了更多的PHP新特性,優化了核心,減少了依賴,實現了真正的惰性載入,支持composer,並針對API開發做了大量的優化。
ThinkPHP官方2018年12月9日發布修復了一個嚴重的遠程代碼執行漏洞。該更新主要涉及一個安全更新,由於框架對控制器名沒有進行足夠的檢測會導致在沒有開啟強制路由的情況下可能的getshell漏洞。
受影響的版本包括5.0和5.1版本,推薦儘快更新到最新版本。
原理
這個漏洞是由於框架對控制器名沒有進行足夠的檢測而導致在沒有開啟強制路由的情況下可能的getshell。因此漏洞的觸發在路由調度時。
Thinkphp中是由函數pathinfo()來獲取路由的,因此我們可以搜索關鍵詞pathinfo
,來定位函數。