DVWA —— File Upload 文件上传

目录

漏洞原理

Low

渗透思路

直接上传

Medium

渗透思路

Content-Type 修改绕过

源码对比

Low & Medium 源码

对比小结

High

渗透思路

上传图片马

文件包含图片马获得 webshell

命令注入获得 webshell

源码对比

Medium 源码

High 源码

对比小结

Impossible

源码对比

High 源码

Impossible 源码

对比小结

绕过

防御


漏洞原理

文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严或webserver相关解析漏洞未修复而造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。 攻击者可通过此漏洞上传恶意脚本文件,对服务器的正常运行造成安全威胁!

Low

渗透思路

直接上传

用最无脑的方式也能成功,看图说话:

Medium

渗透思路

Content-Type 修改绕过

文件上传绕过的方式有很多,比如 Content-Type 修改绕过

源码对比

Low & Medium 源码

对比小结

Medium 源码只是对文件类型 Content-Type 和文件大小做了校验,还有很多其他方式可以绕过

High

渗透思路

  1. 上传图片马,结合文件包含漏洞获得 webshell
  2. 上传图片马,结合命令注入漏洞获得 webshell

上传图片马

文件包含图片马获得 webshell

利用已知的文件包含漏洞获得 webshell

第一次路径推测错误,但报错信息暴露了绝对路径

根据获得到的绝对路径拼接图片马

命令注入获得 webshell

上传图片马后,通过命令执行漏洞修改文件名后缀

|cp ../../hackable/uploads/pic_shell.jpeg ../../hackable/uploads/pic_shell.php

源码对比

Medium 源码

High 源码

对比小结

High 比 Medium 级别多了如下措施:

  1. 添加了文件后缀名白名单
  2. 限制文件大小和图片大小

Impossible

源码对比

High 源码

Impossible 源码

对比小结

相比 High 等级, Impossible 增加了如下措施:

  1. 校验 CSRF Token
  2. 上传文件名用 md5 哈希值重命名,难预测
  3. 校验文件类型 Content-Type
  4. 对上传的文件进行了二次渲染

绕过

  1. 修改/删除/禁用JS
  2. 修改MIME
  3. 等价扩展名绕过
  4. 大小写
  5. .htaccess
  6. 双写
  7. 空格
  8. ::$DATA
  9. %00截断或0x00截断
  10. 图片马
  11. 条件竞争

防御

  1. 后缀名限制白名单,黑名单(不可靠
  2. MIME Type
  3. 文件内容头校验(GIF89a)
  4. 二次渲染(resize 压缩)
  5. 用随机数改写文件名和文件路径
  6. 专用安全设备过滤内容
  7. 限制文件大小
  8. 文件上传目录取消执行权限,使上传的脚本不能执行
  9. 杜绝文件包含漏洞
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值