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

所属分类: 软件教程 / 安全相关 阅读数: 1326
收藏 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,甚至是腾讯的产品体验也比百度好
收藏 0 赞 0 分享

360杀毒如何拦截软件弹窗?360杀毒拦截软件弹窗的方法

360杀毒如何拦截软件弹窗?下面小编就给大家分享下360杀毒软件拦截软件弹窗的方法,希望可以帮助到大家
收藏 0 赞 0 分享

金山毒霸手机助手功能如何使用?

金山毒霸手机助手功能如何使用?下面小编就给大家分享下新毒霸中的手机助手功能的使用方法,希望可以帮助到大家
收藏 0 赞 0 分享

服务器安全狗DDOS防火墙设置让服务器免遭攻击

服务器安全狗DDOS防护功能是一个非常重要的功能,设置得好,别人攻击也就没那么容易,下面与大家分享下DDOS攻击防护能力及其设置,需要的朋友可以看看
收藏 0 赞 0 分享

腾讯电脑管家清理日12月7日报名赢10玩Q币活动详情

12月7日腾讯电脑管家清理日,在活动期间前报名的用户即可免费参与电脑管家清理日活动,按照规定的时间到店清理的用户即可有机会获得50Q币,到店清理电脑是不需要收取任何费用的哦
收藏 0 赞 0 分享

瑞星防火墙ip规则怎么设置 瑞星防火墙规则设置教程

防火墙对于电脑安全起着至关重要的作用,瑞星防火墙ip规则怎么设置?接下来我们一起来看看瑞星防火墙规则设置教程。
收藏 0 赞 0 分享

瑞星杀毒软件自我保护功能详细使用教程

瑞星杀毒软件是一款非常专业的杀毒软件,瑞星杀毒软件的“自我保护
收藏 0 赞 0 分享

百度卫士和百度杀毒哪个好?区别在哪里?

百百度安全卫士和百度杀毒都是百度公司出品的系统工具软件,有效防护电脑,系统维护和管理。那么百度卫士和百度杀毒哪个好?区别在哪里?下面小编就为大家详细介绍一下,不了解的朋友可以过来参考一下
收藏 0 赞 0 分享

瑞星防火墙危险规则设置和端口方法介绍

瑞星防火墙是由瑞星公司开发出的一款防止网络黑客攻击系统的软件。现在好多人都下载这款软件.但是关于瑞星防火墙还有好多人都不明白.下面小编就为大家姐瑞星防火墙危险规则设置和端口方法,一起来了解下吧
收藏 0 赞 0 分享

360安全卫士安全设置图文教程

在我们电脑安装一款新的软件的时候,有些软件会360安全卫士提示它是木马或者提示软件在改电脑的配置。尤其是它的防火墙,提醒最为频繁,那么我们怎么设置我们360安全卫士的防火墙,让它更加贴近我们的使用习惯呢
收藏 0 赞 0 分享
查看更多