Pass-01

任务:上传一个webshell到服务器

上传区 请选择要上传的图片:

上传后会提示../upload/文件夹不存在,请手工创建

 

大致步骤如下:

1.根据源代码,得知本题利用前端js对上传文件后缀进行校验,后端没进行检测,因此可以利用BP修改文件后缀。

function checkFile() {
    var file = document.getElementsByName('upload_file')[0].value;
    if (file == null || file == "") {
        alert("请选择要上传的文件!");
        return false;
    }
    //定义允许上传的文件类型
    var allow_ext = ".jpg|.png|.gif";
    //提取上传文件的类型
    var ext_name = file.substring(file.lastIndexOf("."));
    //判断上传文件类型是否允许上传
    if (allow_ext.indexOf(ext_name + "|") == -1) {
        var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + ext_name;
        alert(errMsg);
        return false;
    }
}

2.设置代理服务器,利用BP绕过前端检测。

Pass-01

3.上传后提示,提示:../upload/文件夹不存在,请手工创建!

查找网上的wp,这步能够成功上传并发现地址,推测是虚拟机里没有upload文件夹,因此未能继续下一步。

Pass-01

 

上一篇:《跟二师兄学Nacos吧》EXT-03篇 Nacos中此处为什么采用反射机制?


下一篇:uniGUI学习之脱离Delphi直接写ExtJS从入门到精通03(47)