上传截断漏洞案例

暗月博客 2019年11月21日15:54:52评论364 views字数 1193阅读3分58秒阅读模式
摘要

作者:mOon 博客 www.moonsec.com 话说博客很久都没更新了,在忙着做代码审计 教程,现在做完了。我们来更新博客把。

作者:mOon 博客 www.moonsec.com

话说博客很久都没更新了,在忙着做代码审计教程,现在做完了。我们来更新博客把。

最近看到几个案例都是挺好玩的。

今天我们先写第个把,截断上传漏洞,这种漏洞黑盒测试比较难发现的,白盒测试就简单多了。其实也不简单,首先要懂原理,这个是必须的,其次是方法。

首先我们来写一份存在截断上传的漏洞代码:

<?php if(isset($_FILES)){ $ext_arr = array('flv','swf','mp3','mp4','3gp','zip','rar','gif','jpg','png','bmp'); $file_ext = substr($_FILES['Filedata']['name'],strrpos($_FILES['Filedata']['name'],".")+1); if(in_array($file_ext,$ext_arr)){  $tempFile = $_FILES['Filedata']['tmp_name'];    $targetPath = $_SERVER['DOCUMENT_ROOT']."/".$_REQUEST['file'].rand(10, 99).date("YmdHis").".".$file_ext;  if(move_uploaded_file($tempFile,$targetPath)){  echo $targetPath;  }else{  exit("上传失败");  }  }else{ exit("上传失败"); }  }    ?>

你们看到,这段代码既熟悉又陌生。$file_ext 限制了成了上传的类型,我们只能上传

array('flv','swf','mp3','mp4','3gp','zip','rar','gif','jpg','png','bmp'); 这类文件。后缀也是限制。所以上传文件名我们是不可控的。但是我们发现这段代码中,还有一个 $_REQUEST['file']是可控的。在iis6.0中我们可以采用解析漏洞。但是我们这里不考虑这种情况,因为现在的waf基本都是拦截这类解析漏洞。 既然是可控,我们可以自由发挥。 我们来截断把 ,首先我来解析第一种截断方法%00这种方法既简单,又省时。 既然是上传我们需要一个上传表单。

<form  action="http://192.168.1.103/upload.php" method="post" enctype="multipart/form-data" > <input type="file" name="Filedata""> <input type="submit" value="Upload"> </form> 

burpsuite 在requset params 抓取包修改空格20修改成00
上传截断漏洞案例
成功之后。在网站跟目录成功出现一个moon.php
上传截断漏洞案例
一个案例我们已经搞定。有时间再写另外的截断方法把。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
暗月博客
  • 本文由 发表于 2019年11月21日15:54:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   上传截断漏洞案例https://cn-sec.com/archives/71292.html

发表评论

匿名网友 填写信息