浅析文件上传漏洞

本文详细探讨了文件上传漏洞的原因,包括客户端和服务器端的校验问题,以及各种绕过策略,如扩展名绕过、0x00截断和解析漏洞。同时阐述了这类漏洞的危害,如代码执行、钓鱼攻击和数据泄露,并提出相应的防御措施,如白名单校验、文件内容检查和限制执行权限。
摘要由CSDN通过智能技术生成

文件上传

成因

  • 对于上传文件的后缀名(扩展名)没有做较为严格的限制
  • 对于上传文件的MIMETYPE 没有做检查
  • 权限上没有控制对于上传的文件的文件权限,(尤其是对于shebang类型的文件)
  • 对于web server对于上传文件或者指定目录的行为没有做限制

客户端校验

  • 前段js验证

    • 可通过审计修改js代码或burp改包绕过

服务器校验

  • content-type字段校验

    • 将Content-Type修改为image/gif,或者其他允许的类型
    • 删除整行
    • 删除掉ontent-Type: image/jpeg只留下c,将.php加c后面即可,但是要注意,双引号要跟着c.php
    • 将Content-Type修改为content-Type
    • 将 Content-Type: application/octet-stream 冒号后面 增加一个空格
  • 文件头校验

    • 将文件头修改为可允许上传文件类型的文件头
  • 检查扩展名

    • 黑名单策略

      • 列表名绕过

        • 查找黑名单中的漏网之鱼,比如asa,cer,cer,ashx,asa,cer,cdx,htr,
      • 大小写绕过

        • 比如aSp,pHp等
      • 能被解析的后缀名:jsp,jspx,jspf,asp,asa,cer,aspx,ashx,php,php ,php3,php4,exe,exee

      • 上传.htaccess文件

        • 通过.htaccess 文件调用 php 的解析器去解析一个文件名只要包含”cimer”这个字符串的任意文件。一个自定义的.htaccess 文件可以以各种各样的去绕过很多上传验证机制。(配合黑名单检测)

          • 1.建立.htaccess 文件,内容如下:<FilesMatch

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值