登陆 注册

文件上传漏洞:突破JS验证详解

桑云信息Lzers 2018-09-06

关于文件上传漏洞不多说了吧,搞web安全的都应该接触过,在上传漏洞中我们常碰到的一种js验证比较烦人,对于网站是否启用的js验证的判断方法,无法就是利用它的判断速度来判断,因为js验证用于客户端本地的验证,所以你如果上传一个不正确的文件格式,它的判断会很快就会显示出来你上传的文件类型不正确,那我们就能判断出该网站是使用的js验证,ok,今天就教大家怎么突破它。
废话不多说了吧,直接上测试用的代码吧。


js验证绕过演示代码:

<?php  /**   * Created by cracer   * Date: 15-10-7   * Time: 下午1:19   * Name: upload1.php   * cracer:http://www.cracer.com/   */  //文件上传漏洞演示脚本之js验证  $uploaddir = 'uploads/';  if (isset($_POST['submit'])) {   if (file_exists($uploaddir)) {   if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploaddir . '/' . $_FILES['upfile']['name'])) {   echo '文件上传成功,保存于:' . $uploaddir . $_FILES['upfile']['name'] . "\n";   }   } else {   exit($uploaddir . '文件夹不存在,请手工创建!');   }   //print_r($_FILES);  }  ?>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>   <meta http-equiv="Content-Type" content="text/html;charset=gbk"/>   <meta http-equiv="content-language" content="zh-CN"/>   <title>文件上传漏洞演示脚本--JS验证实例</title>   <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>  <body>  <h3>文件上传漏洞演示脚本--JS验证实例</h3>  <form action="" method="post" enctype="multipart/form-data" name="upload" onsubmit="return checkFile()">   <input type="hidden" name="MAX_FILE_SIZE" value="204800"/>   请选择要上传的文件:<input type="file" name="upfile"/>   <input type="submit" name="submit" value="上传"/>  </form>  </body>  </html>

文件上传漏洞:突破JS验证详解  第1张文件上传漏洞:突破JS验证详解

生成海报
请发表您的评论
桑云信息Lzers

桑云信息Lzers

乐山桑云信息技术有限公司专注于企业安全与网站、小程序、APP架设,为企业客户提供一站式解决方案,帮助企业快速实现互联网+转型。
909文章数 31评论数
请关注微信公众号
微信二维码
不容错过
Powered By SangYun.Net