<?php $fileup = 0; //上传功能开关 0打开 1关闭 $filesize = 200; //文件大小单位KB 1M=1024KB $filepath = ‘./pic/‘; //文件保存目录 后面要加斜杠/ header(‘Content-Type: text/html; charset=UTF-8‘);//页面编码 if(isset($_GET[‘up‘])){ if($fileup) exit (‘上传功能已关闭!‘); $fileend = end(explode(‘.‘,basename($_FILES[‘file‘][‘name‘])));//取得后缀名 //判断文件类型和大小 if( ( ($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/bmp") ) && $_FILES[‘file‘][‘size‘] < 1024*$filesize ){ if(!file_exists($filepath)) mkdir ($filepath);//判断文件保存目录是否存在 没有则创建 date_default_timezone_set(‘PRC‘);//中国时间 $fileurl = $filepath.date(‘YmdHis.‘).$fileend;//文件路径 使用年月日时分秒作为文件名 move_uploaded_file($_FILES[‘file‘][‘tmp_name‘],$fileurl);//移动文件到指定路径 }else{ exit(‘<script>alert("文件大小或类型错误!");location="?";</script>‘); } } ?>
文件只是验证了$_FILES["file"]["type"]。没有其他地方进行验证。
可以修改POST信息中的$_FILES["file"]["type"]文件类型为图片的类型就可绕过。
提交POST后,关闭代理,就能发现成功上传了PHP了。
abcEditor上传绕过
时间: 2024-09-30 17:48:35