ThinkPHP 5.x (v5.0.23及v5.1.31以下版本) 遠程命令執行漏洞利用(GetShell)(轉載)

ThinkPHP官方2018年12月9日發佈重要的安全更新,修復了一個嚴重的遠程代碼執行漏洞。該更新主要涉及一個安全更新,由於框架對控制器名沒有進行足夠的檢測會導致在沒有開啓強制路由的情況下可能的getshell漏洞,受影響的版本包括5.0和5.1版本,推薦儘快更新到最新版本。

漏洞分析

Thinkphp v5.0.x補丁地址: https://github.com/top-think/framework/commit/b797d72352e6b4eb0e11b6bc2a2ef25907b7756f

Thinkphp v5.1.x補丁地址: https://github.com/top-think/framework/commit/802f284bec821a608e7543d91126abc5901b2815

關鍵代碼:

// 獲取控制器名
$controller       = strip_tags($result[1] ?: $this->rule->getConfig('default_controller'));

在修復之前程序未對控制器進行過濾,導致攻擊者可以通過引入\符號來調用任意類方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章