IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    万众电子期刊在线阅读系统后台上传漏洞

    没穿底裤发表于 2015-12-08 16:48:07
    love 0

    再次拿到了万众电子期刊在线阅读系统。搭建测试,修复了前台的SQL注入以及XSS跨站。有留言的地方增加了验证码.
    后台查看上传的过程admin\includes\upload.inc.php

    <?php
    header('content-Type:text/html;charset=UTF-8');
    require '../../includes/other.fun.php';
    require '../../includes/file.fun.php';
    $input=$_GET['input'];
    $form=$_GET['form'];
    $dir=$_GET['dir'];//目录
    $text=$_GET['text'];
    $type=$_GET['type'];
    ?>

    然后继续往下看,拿这些东西干嘛

    if($_GET['action']=='upfile'){
        $input=$_GET['input'];
        $form=$_GET['form'];
        $dir=$_GET['dir'];
        $text=$_GET['text'];
        $type=$_GET['type'];
    	if(!_isfolder('../../upload/'.$dir)){
    		_folder('../../upload/'.$dir);//无法创建文件夹
    	}
    	if(!_isfolder('../../upload/'.$dir)){
    		echo '无法创建/upload/'.$dir.'文件夹,请检查权限!';
    	}
        if($type=='a'){
            $filetype=array('image/png','image/jpeg','image/gif','image/pjpeg');//检测文件的Content-Type
        }
        if($type=='b'){
            $filetype=array('application/pdf');
        }
        if($_FILES['file']['error']==4){
            function_alert('请选择需要上传的文件!', '');
        }
        if(!in_array($_FILES['file']['type'],$filetype)){
            function_alert('文件格式不支持!','');
        }
        if($_FILES['file']['error']==1){
            function_alert('文件大小超过PHP允许的大小限制!', '');
        }
        if($_FILES['file']['error']==3){
            function_alert('网络中断,请重新上传!', '');
        }
        if(is_uploaded_file($_FILES['file']['tmp_name'])){
    		if($_FILES['file']['type']=='image/png'){
    			$filetype='png';
    		}
    		if($_FILES['file']['type']=='image/jpeg'){
    			$filetype='jpg';
    		}
    		if($_FILES['file']['type']=='image/gif'){
    			$filetype='gif';
    		}
    		if($_FILES['file']['type']=='image/pjpeg'){
    			$filetype='jpeg';
    		}
    		if($_FILES['file']['type']=='application/pdf'){
    			$filetype='pdf';
    		}
            $filename=date('YmdHis').'.'.$filetype;
    		?>
    		<div class="upload"><img src="../images/loading.gif" /><p>数据处理中,请勿关闭此窗口……</p></div>
    		<?php
            move_uploaded_file($_FILES['file']['tmp_name'],'../../upload/'.$dir.'/'.$filename);
            if($form!='addpage'){
            echo "<script>input('".$filename."');window.close();</script>";
            }else{
                echo "<script>input('".$filename."');window.opener.$form.submit();window.close();</script>";
            }
        }

    获取文件夹的名字,然后创建这个文件夹.这里是不是可以根据解析以及截断来获取到webshell呢.访问url里面的截断会直接造成
    11
    发现ASP的直接不解析。这里修改.php的来进行测试
    11
    上传成功,我们查看结果1111



沪ICP备19023445号-2号
友情链接