文件上传---JS本地验证和00截断

文件上传漏洞3

JS本地验证绕过(本地验证,客户端验证)

本地验证速度较快,如果点击确定按钮很快弹框,那么可以猜测是本地js验证,
我们可以打开浏览器源代码找到验证的地方自己修改即可.(PS:需要修改action字段指向需正确提交的位置.)
    <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>
    

%00截断上传


%00用于测试是否有该漏洞
比如上传xxx.php%00.jsp
如果服务端有该漏洞,则文件被保存成xxx.php.
这个%00需要是编码过后的URL的%00
如果直接写%00,会被编码成为%25%30%30(burp suite有这个转换功能)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值