iwebsec-文件上传 01 前端JS过滤绕过

发布时间 2023-08-19 14:07:01作者: 别打扰我摸鱼

01、题目分析

事实上,文件上传过滤是很正常的,需要自行判断是前端过滤还是后端过滤,一般上传木马的时候可以进行抓包,如果直接点击上传直接弹出禁止上传的界面,而没有抓到数据包,那就说明是前端js过滤,但是这个题目已经说明了是前端js过滤,就不用再测试了

02、文件上传

先用哥斯拉创建一个一句话木马

命名为1.php

然后尝试上传木马

image

被前端js拦截

那就老办法,把1.php修改成1.jpg,然后上传抓包,在burp中修改为1.php即可

image

image

image

image

木马上传成功

使用哥斯拉连接

image

拿到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>