c0ny1/upload-labs文件上传漏洞之PHP文件上传POST截断Pass-12


本文介绍Pass-12,和Pass-11一样,但是改成了POST传路径。

$is_upload = false;
$msg = null;
if(isset($_POST['submit'])){
    $ext_arr = array('jpg','png','gif');
    $file_ext = substr($_FILES['upload_file']['name'],strrpos($_FILES['upload_file']['name'],".")+1);
    if(in_array($file_ext,$ext_arr)){
        $temp_file = $_FILES['upload_file']['tmp_name'];
        $img_path = $_POST['save_path']."/".rand(10, 99).date("YmdHis").".".$file_ext;

        if(move_uploaded_file($temp_file,$img_path)){
            $is_upload = true;
        } else {
            $msg = "上传失败";
        }
    } else {
        $msg = "只允许上传.jpg|.png|.gif类型文件!";
    }
}

POST和GET有所不同,在POST中不能直接写%00,需要在二进制中改一下。
修改二进制数据
修改文件名
上传失败

很明显,上传失败。原因和Pass-11一样。

声明:物博网|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - c0ny1/upload-labs文件上传漏洞之PHP文件上传POST截断Pass-12


喜欢安全与WEB开发