任务:上传一个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绕过前端检测。
3.上传后提示,提示:../upload/文件夹不存在,请手工创建!
查找网上的wp,这步能够成功上传并发现地址,推测是虚拟机里没有upload文件夹,因此未能继续下一步。