緊急 | ThinkPHP遠程命令執行高危漏洞,啟明星辰提供解決方案

發布時間 2018-12-12
ThinkPHP是一個快速、兼容而且簡單的輕量級國產PHP開發框架,誕生于2006年初,原名FCS,2007年元旦正式更名為ThinkPHP,遵循Apache2開源協議發布,使用面向對象的開發結構和MVC模式,融合了Struts的思想和TagLib(標簽庫)、RoR的ORM映射和ActiveRecord模式,該框架國內應用非常廣泛。


2018年12月9日,ThinkPHP團隊發布了一個補丁更新(https://blog.thinkphp.cn/869075),修復了一處由于路由解析缺陷導致的代碼執行漏洞。該漏洞危害程度非常高,默認環境配置即可導致遠程代碼執行。由于ThinkPHP獲取控制器名沒有對參數進行足夠的檢測,在沒有開啟輕質路由的情況下,攻擊者可以通過控制輸入字符的方式調用任意方法,達到遠程執行命令的目的。該漏洞在開啟強制路由的情況下不受影響(默認不開啟)。


詳細內容可參考ADLab分析:
https://mp.weixin.qq.com/s/XBcoT5ypV2cJ-Q09RS8JRA


 漏洞影響版本:


5.1.x - 5.1.31
5.0.x - 5.0.23


 漏洞驗證:
 



 解決方案:


◆ 官方建議


受影響用戶可將5.0.x版本升級到5.0.23,將5.1.x版本升級到5.1.31以消除漏洞影響。


官方現已推出補丁,建議開發者進行修復:


5.0版本(https://github.com/top-think/framework/commit/b797d72352e6b4eb0e11b6bc2a2ef25907b7756f):



在think\App類的module方法獲取控制器的代碼后面加上一下代碼:



5.1版本(https://github.com/top-think/framework/commit/802f284bec821a608e7543d91126abc5901b2815):



在think\route\dispatch\Url類的parseUrl方法,解析控制器后加上代碼:



◆ 漏洞掃描:


啟明星辰天鏡脆弱性掃描與管理系統V6.0于2018年12月12日緊急發布針對該漏洞的升級包,支持對該漏洞進行檢測,用戶升級天鏡漏掃產品漏洞庫后即可對該漏洞進行掃描。6070版本升級包為607000192,升級包下載地址:
https://www.venustech.com.cn/article/type/1/146.html


請天鏡脆弱性掃描與管理系統V6.0產品的用戶盡快升級到最新版本,及時對該漏洞進行檢測,以便盡快采取防范措施。
 



◆ 產品檢測與防護


已部署啟明星辰IDS、IPS、WAF產品的客戶請確認如下事件規則已經下發并應用,既可有效檢測或阻斷攻擊。


事件名稱:HTTP_ThinkPHP5遠程代碼執行漏洞
 

天闐入侵檢測與管理系統報警截圖
 

天清入侵防御系統報警截圖

 

天清Web應用安全網關報警截圖