wanghe513120 发表于 2012-6-26 12:55:35

Timthumb缩略图插件漏洞简介与演示

首先这个洞已经出来非常久了,应该是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
页: [1]
查看完整版本: Timthumb缩略图插件漏洞简介与演示