uplload 通关纪实 pass21

Posted 安全界 的彭于晏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uplload 通关纪实 pass21相关的知识,希望对你有一定的参考价值。

$is_upload = false;
$msg = null;
if(!empty($_FILES['upload_file']))
    //检查MIME
    $allow_type = array('image/jpeg','image/png','image/gif');
    if(!in_array($_FILES['upload_file']['type'],$allow_type))
        $msg = "禁止上传该类型文件!";
    else
        //检查文件名
        $file = empty($_POST['save_name']) ? $_FILES['upload_file']['name'] : $_POST['save_name'];
        if (!is_array($file)) 
            $file = explode('.', strtolower($file));
        

        $ext = end($file);
        $allow_suffix = array('jpg','png','gif');
        if (!in_array($ext, $allow_suffix)) 
            $msg = "禁止上传该后缀文件!";
        else
            $file_name = reset($file) . '.' . $file[count($file) - 1];
            $temp_file = $_FILES['upload_file']['tmp_name'];
            $img_path = UPLOAD_PATH . '/' .$file_name;
            if (move_uploaded_file($temp_file, $img_path)) 
                $msg = "文件上传成功!";
                $is_upload = true;
             else 
                $msg = "文件上传失败!";
            
        
    
else
    $msg = "请选择要上传的文件!";




 
上传一个php文件,并用burpsuite抓包:


发送到repeater模块,修改几处地方:
1处修改为jpg的格式:image/jpeg
2处参加一个参数[0]
3处后缀名改为php/,并复制这一段代码
4处呢则是换一个参数,添加为jpg的格式
如下图所示:


然后点击Go,成功上传:

之后用菜刀进行连接:

成功访问到:

以上是关于uplload 通关纪实 pass21的主要内容,如果未能解决你的问题,请参考以下文章

uplload 通关纪实 pass2

uplload 通关纪实 pass21

uplload 通关纪实 pass21

uplload 通关纪实 pass21

uplload 通关纪实 pass21

uplload 通关纪实 pass19