码迷,mamicode.com
首页 > Web开发 > 详细

漏洞预警 | ThinkPHP 5.x远程命令执行漏洞

时间:2018-12-13 16:30:16      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:文件中   控制   文件   模式   exp   alt   amp   测试   情况下   

ThinkPHP采用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,是一款兼容性高、部署简单的轻量级国产PHP开发框架。

近日,ThinkPHP团队发布了版本更新信息,修复一个远程代码执行漏洞。该漏洞是由于框架对控制器名没有进行足够的检测,导致在没有开启强制路由的情况下可远程执行代码。攻击者利用该漏洞,可在未经授权的情况下,对目标网站进行远程命令执行攻击。

技术分享图片

 

该漏洞存在于thinkphp\library\think\route\dispatch\Module.php文件中,核心代码如图所示:

技术分享图片

网上公布的poc为:http://xx.xx.xx/public/index.php?s=/index/\think\request/cache&key=1|phpinfo,当变量s传进之后受explode函数截断,$controller的值为:\think\request,代码如图所示:

技术分享图片

 

在Thinkphp5.1.29的\think\Request类中找到可以利用的方法cache,代码如图所示:

技术分享图片

 

Poc中cache&key=1|phpinfo经过代码处理后函数$fun的值为phpinfo

技术分享图片

 

本地搭建测试环境验证,尝试执行phpinfo命令,如下图所示:

 技术分享图片

 

 解决方案如下 :

技术分享图片

 

漏洞预警 | ThinkPHP 5.x远程命令执行漏洞

标签:文件中   控制   文件   模式   exp   alt   amp   测试   情况下   

原文地址:https://www.cnblogs.com/youjianjiangnan/p/10114086.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!