0x00 概述
6666666
0x01 客户端检测绕过(js检测)
- 检测原理
在客户端通过如下的javascript代码来检测用户提交的文件是否合法:
1 <script type="text/javascript"> 2 function checkFile() { 3 var file = document.getElementsByName(‘upload_file‘)[0].value; 4 if (file == null || file == "") { 5 alert("请选择要上传的文件!"); 6 return false; 7 } 8 //定义允许上传的文件类型 9 var allow_ext = ".jpg|.png|.gif"; 10 //提取上传文件的类型 11 var ext_name = file.substring(file.lastIndexOf(".")); 12 //判断上传文件类型是否允许上传 13 if (allow_ext.indexOf(ext_name) == -1) { 14 var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + ext_name; 15 alert(errMsg); 16 return false; 17 } 18 } 19 </script>
- 如何判断是否是客户端js检测
- 绕过方法
由于用来验证文件合法性的js程序在我们客户端,所以对于我们来说,这个验证程序是可控制的,能够很轻易的就绕过,具体能够绕过的方法如下:
1. 添加允许上传的文件类型,使自己想要上传的会见类型为合法
-这是一个简单的上传页面
2、删除对js验证脚本的调用,使其不能对上传的文件类型做检测,从而达到绕过
3、利用burpsuite抓包,修改文件类型进行绕过
h1
6666666
h1
6666666
原文地址:https://www.cnblogs.com/ldhbetter/p/9190556.html
时间: 2024-09-30 11:23:02