关于ThinkPHP framework 任意代码执行漏洞预警
发布时间:2012-04-25 09:40:20 作者:佚名
我要评论
ThinkPHP是一个国内使用很广泛的老牌PHP MVC框架。貌似国内有不少创业公司或者项目都用了这个框架。
最近官方发布了一个安全补丁,官方表述是:该URL安全漏洞会造成用户在客户端伪造URL,执行非法代码。
可是貌似大多数开发者和使用者并没有注意到此漏洞的危害性,应者了了,更不用说有多少人去升级了。随后我对其进行了分析,发现此问题果然是一个非常严重的问题,只要使用了thinkphp框架,就可以直接执行任意php代码。特此发帖预警各位。
我们来分析一下官方的补丁:
/trunk/ThinkPHP/Lib/Core/Dispatcher.class.php
125 - $res = preg_replace('@(w+)'.$depr.'([^'.$depr.'/]+)@e', '$var['\1']="\2";', implode($depr,$paths));
125 + $res = preg_replace('@(w+)'.$depr.'([^'.$depr.'/]+)@e', '$var['\1']='\2';', implode($depr,$paths));
这个代码是把pathinfo当作restful类型url进行解析的,主要作用是把pathinfo中的数据解析并合并到$_GET数组中。
然而在用正则解析pathinfo的时候,主要是这一句:
$res = preg_replace('@(w+)'.$depr.'([^'.$depr.'/]+)@e', '$var['\1']="\2";', implode($depr,$paths));
这里明显使用了preg_replace的/e参数,这是个非常危险的参数,如果用了这个参数,preg_replace第二个参数就会被当做php代码执行,作者用这种方式在第二个参数中,利用PHP代码给数组动态赋值。
'$var['\1']="\2";'
而这里又是双引号,而双引号中的php变量语法又是能够被解析执行的。因此,攻击者只要对任意一个使用thinkphp框架编写的应用程序,使用如下方式进行访问,即可执行任意PHP代码:
index.php/module/action/param1/${@print(THINK_VERSION)}
由于是双引号执行,这里为了保险起见,不给出更有危害性的代码,利用这个还是需要点技巧的。
总之这个问题非常严重,找了一下,发现目前没有修补漏洞的网站还是很多的。而ThinkPHP框架的特征其实非常好识别,有意者直接写个scanner进行扫描也未必不可能。
为了不造成更大损失,特地发帖希望引起各位使用thinkphp做开发的同学关注。尽早升级官方的安全补丁
作者:GaRY
相关文章

彻底关闭win10、win11系统自带的windows defender杀毒功能(图文详解)
这篇文章主要介绍了彻底关闭win10、win11系统自带的windows defender杀毒功能的详细方法,这样后续才能使用一些软件2024-09-30
火绒能恢复被删除的文件吗? 火绒恢复被当成病毒删除文件的方法
我们进行电脑磁盘清理的时候,偶尔会出现被杀毒软件误删除的情况,对于这种误删除的情况我们可以用火绒来进行恢复,想知道如何找回来,这里给朋友们分享火绒软件恢复误杀文2024-05-16
电脑怎么关闭所有广告弹窗? 一招关掉所有广告包括360安全卫士弹窗
电脑总是会出现各种广告,该怎么禁止展示广告呢?今天我们分享一招关掉所有广告弹窗,包括360安全卫士弹出的全部广告窗口2024-05-09
电脑360ai办公如何关闭? 360安全卫士ai办公的关闭方法
电脑右下角总是出现ai图标,误点后会出现360ai办公,想要关掉ai办公图标,该怎么操作呢?下面我们我们总结了多种解决办法,详细请看下文介绍2024-05-09
怎么关闭360AI大会员弹窗广告提示? 360安全卫士ai大会员提醒关闭方法
360安全卫士总是弹出ai大会员的推广广告,想要关闭这个弹窗,该怎么操作呢?我们点击360设置中心,点击弹窗设置,弹窗设置拉倒底,关闭AI大会员提醒2024-05-09
火绒安装不上怎么回事 安装火绒安全软件提示驱动版本不匹配的解决办法
有时候安装火绒安全软件时,会跳出“驱动版本不匹配,重启电脑即可修复重启”的提示界面,会有小伙伴不知道如何操作,可以先根据提示升级版本,然后启动试试2024-02-20
火绒ip黑名单怎么添加ip段? 火绒ip黑名单功能的使用方法
使用电脑的时候有用户想要限制指定IP进出,那么在火绒安全中心中怎么开启此功能和添加IP黑名单呢?下方是关于如何使用火绒安全软件添加ip黑名单的具体操作方法2024-02-20
文件哈希运算是指通过特定的算法将文件内容转化为固定长度的哈希值,用来严重我们从网上上下载的文件是否与官方提供的一致,因为很多情况下官方容易会被恶意修改挂马等2024-02-08
专业级文件MD5、SHA-256/512算法支持的校验工具(文件哈希校验器集合)
下面给大家推荐几款好用的免费的sha1、SHA-256校验工具软件,网上下载的文件不知道是否被修改过,那么就需要这样的工具了,需要的小伙伴们来了解一下2024-02-08
鲁大师被检测为病毒怎么办? win11鲁大师显示为病毒的处理方法
鲁大师是一款专业的电脑硬件检测工具,win11系统安装完鲁大师工具之后,却被系统安全防护功能识别为病毒,对此鲁大师被win11识别为病毒怎么办呢?具体请看下文介绍2025-03-29










最新评论