文件上传-入门

一、漏洞原理

通过名字就知道是在有上传文件的地方会有文件上传漏洞,这个漏洞的形成原因比如上传头像,它是只能上传图片的形式,但是它的过滤不严导致我们可以上传恶意脚本-后门等操作,所以只要能上传文件的地方都有可能存在文件上传漏洞。

二、绕过方法

上面也说了比如上传头像功能,开发是会写上传过滤,比如只允许上传图片形式,但是可能写的不严,我们就可以通过各种方法对它进行绕过,网上有很多的绕过方法,我在这里就举几个常见的绕过方法,并不是说就没有其它绕过方法,这些绕过方法都是自己慢慢学习和收集的。我们这里演示的环境用的是ggctf-upload靶场

  1. Javascript检测(前端验证)

前端验证就是浏览器检测,你上传的不是png文件在你点击提交后burp还没有抓到包就已经返回上传失败。解决办法可以关闭浏览器的javascript,或者上传png文件在burp抓包后更改文件后缀

  1. 文件后缀绕过

检查上传文件的后缀名,源码中限制了很多中源码的上传,但是我们可以通过双写绕过

上传成功这里原本考的不是双写绕过,是.htaccess文件绕过,所以我这里就简单的说一下这个题,这个文件的作用是可以改变文件解析的方式,它属于apache的配置文件。比如这里可以先上传.htaccess文件文件内容:<FilesMatch "\.jpg"> SetHandler application/x-httpd-php </FilesMatch>,就是把jpg文件当作php来解析,我们上传一个jpg文件在jpg文件中插入一句话木马就可以了。

  1. Content-Type绕过

这个就是检测文件类型,我们直接把php文件类型更改为png的文件类型就可以了

image/png就是png文件类型

  1. 00截断绕过

操作系统是由C语言和汇编语言写而成,而它们回把%00当作结束符号,所以我们在上传文件时在png或者jpg前加上%00后面的内容就没了。

  1. 条件竞争

在你上传文件后会返回文件后缀错误,但是有可能会是在你上传到服务器后在检测是否存在病毒,这样我们可以通过上传的那一刻我们访问文件地址连接木马。,而连上木马后它删除也没有用了

这样写的作用是我们访问这个文件后会自动生成一个xiao.php木马文件

抓取上传文件的包选择零载荷,无限循环

在抓取一个访问的数据包,一样无限循环

生成成功

三、修复方法

  1. 设置白名单只允许上传文件后缀
  2. 上传文件后更改上传文件名字
  3. 上传后更改上传文件路径,而且不反回上传文件的路径
  4. 检查文件大小,文件头
  5. 利用云储存
  6. 跨站存储
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值