GV32-CMS最新版V5.6.4前台getshell

#1 文件application\user\upload.php 11-96行 [php] //文件上传 uploadfile(); function uploadfile() { $configUp=array(); $configUp['type'] = array("flash","img"); //上传允许type值 $configUp['img'] = array("jpg","bmp","gif","png"); //img允许后缀 $configUp['flash'] = array("flv","swf"); //flash允许后缀 $configUp['office'] = array("doc","docx","docm","dotx","dotm", "xls","xlsx","xlsm","xltm","xlsb","xlam","csv","xlw","wk4","wk3","wk1","wks","dbf", "ppt","pptx","pptm","ppsx","potx","potm","ppam"); //office允许后缀 if(MAX_UPSIZE != '') { $configUp['flash_size'] = MAX_UPSIZE; //上传flash大小上限 单位:KB $configUp['img_size'] = MAX_UPSIZE; //上传img大小上限 单位:KB }else{ $configUp['flash_size'] = 1000; //上传flash大小上限 单位:KB $configUp['img_size'] = 2000; //上传img大小上限 单位:KB } $configUp['message'] = "上传成功"; //上传成功后显示的消息,若为空则不显示 $configUp['name'] = mktime(); //上传后的文件命名规则 这里以unix时间戳来命名 if(BASE_WEBURL!='') { $configUp['flash_dir'] = BASE_WEBURL."/uploads/flash"; //上传flash文件地址 采用绝对地址 方便upload.php文件放在站内的任何位置 后面不加"/" $configUp['img_dir'] = BASE_WEBURL."/uploads/img"; //上传img文件地址 采用绝对地址 采用绝对地址 方便upload.php文件放在站内的任何位置 后面不加"/" }else{ $configUp['flash_dir'] = "/uploads/flash"; //上传flash文件地址 采用绝对地址 方便upload.php文件放在站内的任何位置 后面不加"/" $configUp['img_dir'] = "/uploads/img"; //上传img文件地址 采用绝对地址 采用绝对地址 方便upload.php文件放在站内的任何位置 后面不加"/" } if(IMG_URL!='') { $configUp['site_url'] = IMG_URL; //网站的网址 这与图片上传后的地址有关 最后不加"/" 可留空 }else{ $configUp['site_url']=""; //网站的网址 这与图片上传后的地址有关 最后不加"/" 可留空 } //判断是否是非法调用 if(empty($_GET['CKEditorFuncNum'])) mkhtml(1,"","错误的功能调用请求"); $fn=$_GET['CKEditorFuncNum']; if(is_uploaded_file($_FILES['upload']['tmp_name'])) { //判断上传文件是否允许 $filearr=pathinfo($_FILES['upload']['name']); $filetype=$filearr["extension"]; if(!in_array($filetype,$configUp['img'])) mkhtml($fn,"","错误的文件类型!"); //判断文件大小是否符合要求 if($_FILES['upload']['size'] > $configUp["img_size"]*1024) mkhtml($fn,"","上传的文件不能超过".$configUp["img_size"]."KB!"); $file_abso=$configUp["img_dir"]."/".$configUp['name'].".".$filetype; $file_host=$_SERVER['DOCUMENT_ROOT'].$file_abso; if(move_uploaded_file($_FILES['upload']['tmp_name'],$file_host)) { mkhtml($fn,$file_abso,$configUp['message']); }else { mkhtml($fn,"","文件上传失败,请检查上传目录设置和目录读写权限"); } } } //输出js调用 function mkhtml($fn,$fileurl,$message) { echo $str=''; exit($str); } ?> [/php] [php] if(!in_array($filetype,$configUp['img'])) 判断了文件类型数组 $configUp['img'] = array("jpg","bmp","gif","png"); [/php] 然后js调用输出 很好突破直接抓包修改格式上传就ok #2 利用方式 #1 首先注册一个账号 #2 首页 > 用户中心 > 基本信息 头像上传文件 抓包改包上传 google关键词:Powered by GV32.COM 找到约 19,300 条结果 (用时 0.29 秒) 有一定的用户量 随便找一个站测试下 #http://engleeagro.com/ 注册个账号,然后头像上传 抓包 改包上传成功: : up

发表评论