01、题目分析
事实上,文件上传过滤是很正常的,需要自行判断是前端过滤还是后端过滤,一般上传木马的时候可以进行抓包,如果直接点击上传直接弹出禁止上传的界面,而没有抓到数据包,那就说明是前端js过滤,但是这个题目已经说明了是前端js过滤,就不用再测试了
02、文件上传
先用哥斯拉创建一个一句话木马
命名为1.php
然后尝试上传木马
被前端js拦截
那就老办法,把1.php修改成1.jpg,然后上传抓包,在burp中修改为1.php即可
木马上传成功
使用哥斯拉连接
拿到webshell
03、源码分析
<script type="text/javascript">
function checkFile() {
var file = document.getElementsByName('upfile')[0].value;
if (file == null || file == "") {
alert("你还没有选择任何文件,不能上传!");
return false;
}
//定义允许上传的文件类型
var allow_ext = ".jpg|.jpeg|.png|.gif|.bmp|";
//提取上传文件的类型
var ext_name = file.substring(file.lastIndexOf("."));
//alert(ext_name);
//alert(ext_name + "|");
//判断上传文件类型是否允许上传
if (allow_ext.indexOf(ext_name + "|") == -1) {
var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + ext_name;
alert(errMsg);
return false;
}
}
</script>
标签:文件,01,name,JS,ext,过滤,file,iwebsec,上传
From: https://www.cnblogs.com/bdrwmy/p/17642409.html