关于ThinkPHP framework 任意代码执行漏洞预警

所属分类: 软件教程 / 安全相关 阅读数: 1366
收藏 0 赞 0 分享

最近官方发布了一个安全补丁,官方表述是:该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
更多精彩内容其他人还在看

360安全卫士怎么自定义皮肤?360皮肤文件夹的具体位置

360安全卫士怎么自定义皮肤?360在特定的节日会自动更换皮肤,但是这些皮肤是装在哪个文件夹呢?可以随意替换吗?下面我们来看看自定义360安全卫士节日皮肤的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

怎么预防电脑中毒? flash漏洞被挂马的解决办法

怎么预防电脑中毒? 很多网站出现了FLASH被挂马的情况,一不小心就会中毒,该怎么保证电脑不中毒呢?下面分享两种解决办法,一种是升级FLASH最新版,还有一种如下文介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

如何使用360安全卫士防止蹭网?360安全卫士防止蹭网图文教程

很多朋友自己装了花钱装了宽带有了无线网,最悲催的是有很多人蹭网用,心里很不舒服,今天小编就为大家带来如何使用360安全卫士防止蹭网
收藏 0 赞 0 分享

360安全卫士怎么更改默认软件?

360安全卫士怎么设置默认软件,在扫描电脑安全的时候,不经意把有用的软件当做病毒扫描出来,那么怎么设置默认软件呢。小编就为大家详细介绍一下,一起来看看吧
收藏 0 赞 0 分享

腾讯电脑管家总之自动劫持IE新建选项卡该怎么办?

腾讯电脑管家总之自动劫持IE新建选项卡该怎么办?电脑安装了腾讯电脑管家以后,出现了一个小问题,每次使用ie打开新建选项卡,都会出来一些广告,这些广告竟然都是电脑管家设置的,该怎么却掉这种广告呢?下面我们一起来看看详细的解决办法
收藏 0 赞 0 分享

腾讯电脑管家弹出怎么使用弹出拦截功能拦截广告?

腾讯电脑管家弹出怎么使用弹出拦截功能拦截广告?常常会看到页面弹出广告(常见的有酷狗音乐,搜狗输入法,搜狐新闻等等),是不是想很烦恼。要怎么用电脑管家拦截呢,下面我们一起来看看设置方法
收藏 0 赞 0 分享

360天巡是什么?360安全防御天巡功能介绍

360天巡是什么?针对企业用户360推出了天巡产品,很多人还不知道360天巡是什么有什么用,下面脚本之家小编就为大家介绍一下360安全防御天巡功能,一起来看看吧
收藏 0 赞 0 分享

腾讯qq管签到赚积分换礼物的详细教程

腾讯qq管家怎样签到得积分?签到领取积分可以提升安全达人等级,高级的安全达人可以领取更丰厚的游戏礼包。另外积分还可以兑换礼品,下面我们一起来看看签到的方法
收藏 0 赞 0 分享

为网络安全而生的反黑安全卫士2015

反黑安全卫士2015是一款由安为科技自主研发的具有双引擎查杀功能的安全软件,拥有全面防护黑客入侵、恶意病毒、简单放心、无干扰等功能。能更快更精准地识别有害文件以及木马程序,有需要的朋友们可以过来下载看看
收藏 0 赞 0 分享

adsafe不能拦截广告怎么办?adsafe无法拦截广告解决办法

有用户反映adsafe不能拦截广告了,主要是爱奇艺、优酷等视频广告。今天脚本之家小编就为大家带来adsafe无法拦截广告解决办法
收藏 0 赞 0 分享
查看更多