Upload-labs文件上传漏洞(POST路径)——Pass12

0×00 题目概述

Upload-labs文件上传漏洞(POST路径)——Pass12_第1张图片

依然是上传路径可控

0×01 源代码

$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传参,由于POST传参不会自动解码,需要在Hex处修改二进制,+对应的是2b,将其改为00即可

 

0×02 解题步骤

Upload-labs文件上传漏洞(POST路径)——Pass12_第2张图片

Upload-labs文件上传漏洞(POST路径)——Pass12_第3张图片 在Hex处找到+对应的2b,将其修改为00即可

Upload-labs文件上传漏洞(POST路径)——Pass12_第4张图片

Upload-labs文件上传漏洞(POST路径)——Pass12_第5张图片

修改完之后Forward,还是不行,应该是php版本的问题吧

Upload-labs文件上传漏洞(POST路径)——Pass12_第6张图片

你可能感兴趣的:(Upload-labs,web学习)