預警編號:NS-2019-0002
TAG: | ThinkPHP、 遠程代碼執行 |
危害等級: | 高,ThinkPHP應用廣泛,此漏洞可導致遠程代碼執行。 |
版本: | 1.0 |
漏洞概述
近日,ThinkPHP 5.0.*全版本被爆出存在遠程代碼執行漏洞,目前官方已經修復此漏洞,請相關用戶引起關注,及時采取防護措施。漏洞測試結果如下:
SEE MORE →
2影響范圍
受影響版本:
ThinkPHP 5.0.*
不受影響版本:
ThinkPHP 5.0.24
3漏洞排查
3.1 版本排查
使用文本編輯器打開thinkphp\base.php文件,在常量定義的代碼中即可獲取當前框架的版本:
若版本號在受影響范圍內,則受此漏洞影響,請相關用戶及時采取防護措施,修復此漏洞。
4漏洞防護
方案1 版本升級
ThinkPHP5支持使用Composer來安裝升級,建議先備份application和修改過的目錄,在網站根目錄下打開cmd,執行如下命令之一:
composer update topthink/framework 5.0.24 composer update topthink/framework=5.0.24 composer update topthink/framework:5.0.24 |
注:若用戶使用的為早期ThinkPHP5版本,在升級過程中可能存在兼容性問題,用戶可參考官方手冊的升級指導章節進行升級。參考鏈接如下:
https://www.kancloud.cn/manual/thinkphp5/163239
方案2 代碼修復
該漏洞存在于ThinkPHP處理請求的關鍵類Request中。用戶也可通過改進Request類,對此漏洞進行修復,具體代碼修復方案可參考下列鏈接:
https://github.com/top-think/framework/commit/4a4b5e64fa4c46f851b4004005bff5f3196de003
使用編輯器打開\thinkphp\library\think\Request.php,找到第525、526行代碼:
$this->method = strtoupper($_POST[Config::get('var_method')]); $this->{$this->method}($_POST); |
將其修改為如下代碼:
$method = strtoupper($_POST[Config::get('var_method')]); if (in_array($method, ['GET', 'POST', 'DELETE', 'PUT', 'PATCH'])) { $this->method = $method; $this->{$this->method}($_POST); } |
保存即可。
END
作者:綠盟科技安全服務部
本安全公告僅用來描述可能存在的安全問題,綠盟科技不為此安全公告提供任何保證或承諾。由于傳播、利用此安全公告所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,綠盟科技以及安全公告作者不為此承擔任何責任。
綠盟科技擁有對此安全公告的修改和解釋權。如欲轉載或傳播此安全公告,必須保證此安全公告的完整性,包括版權聲明等全部內容。未經綠盟科技允許,不得任意修改或者增減此安全公告內容,不得以任何方式將其用于商業目的。
關于綠盟科技
北京神州綠盟信息安全科技股份有限公司 (簡稱綠盟科技)成立于2000年4月,總部位于北京。在國內外設有30多個分支機構,為政府、運營商、金融、能源、互聯網以及教育、醫療等行業用戶,提供具有核心競爭力的安全產品及解決方案,幫助客戶實現業務的安全順暢運行。
基于多年的安全攻防研究,綠盟科技在網絡及終端安全、互聯網基礎安全、合規及安全管理等領域,為客戶提供入侵檢測/防護、抗拒絕服務攻擊、遠程安全評估以及Web安全防護等產品以及專業安全服務。
北京神州綠盟信息安全科技股份有限公司于2014年1月29日起在深圳證券交易所創業板上市交易,股票簡稱:綠盟科技,股票代碼:300369。
暫無信息
地址:廣東省惠州市惠城區東平半島惠州大道20號賽格大廈1608號
電話:0752-2072178 傳真:0752-2072168-0 郵箱:gdoudi@ouditech.com廣東歐迪科技有限公司 版權所有
Copyright ©2020 Guangdong Oudi Technology Corporation All Rights Reserved.
粵ICP備16018732號-1