2.上传文件

上传文件

1. 客户端校验(本地)——JavaScript校验
  • 原理:本地JavaScript进行校验

  • 绕过方法:

    • 1.抓包解包
    • 2.禁用JavaScript
2.服务器端校验——content-type校验
  • 原理:MIME类型检测
  • 绕过方法:
    • 1.修改数据包
      • gif——image/gif
      • png——image/png
      • jpg——image/jpeg
      • js ——text/javascript
      • htm——text/html
      • html——text/html
    • 2.改文件名后上传抓包后再改回文件名
    • 3.上传正常文件修改文件内容
    • 目的:构造包使content-type 正确
3.服务端校验——后缀名黑名单校验
  • 原理:开发人员禁止了某些后缀名
  • 绕过:
    • 1.大小写绕过,例如:Php、PhP
    • 2.利用黑名单没有的,但是能被中间件解析的后缀名,例如:PHP、php3、php4、php5、pht、php7、phtml、phps
    • Apache的配置文件正则规则 .+\.ph(p[3457]?|t|tml)$
    • 3.上传Apache的.htaccess 文件 ,与php文件在同一目录
      • <FilesMatch "php7.jpg">sethandler application/x-httpd-php</FilesMatch>
    • 4.使用00截断:使用bp的hex修改0x00
      • 基于一个组合逻辑漏洞造成的,通常存在于构造上传文件路径的时候
    • 5.超长文件名截断上传Windows: 258 byte Linux: 4096 byte
4.服务端校验——后缀名白名单校验
  • 原理:猜测是因为Apache服务器识别文件名时是从后向前推
5.服务端校验——内容头校验
  • 原理:文件头 getimagesize()
  • 绕过:gif89a<?php phpinfo();?>
6.竞争上传
  • 情景:文件上传后,检测是否合法,不合法就删除,所以意味着文件在服务器上存在过,只是存在时间短,理论上是能访问的。
  • 绕过:使用爆破,一直发,访问速度大于他的删除速度。生成小文件。。。
  • 趁代码不注意,赶紧访问!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值