文件上传漏洞介绍

文章目录

    • 一、漏洞介绍
      • 1.1 漏洞简介
      • 1.2 风险点
      • 1.3 漏洞危害
    • 二、利用方式
    • 三、挖掘方式
    • 四、上传限制
    • 五、上传绕过
    • 六、防御措施

文件上传漏洞介绍_第1张图片

Tips:本文章只试于漏洞学习,严禁于非授权下操作!(警察叔叔的玫瑰金手镯可不是限量版!!!)

一、漏洞介绍

1.1 漏洞简介

  web应用程序没有对上传的文件进行安全判断或者判断条件不够严谨,导致恶意攻击者可以上传木马脚本文件到服务器中,从而执行恶意代码。

1.2 风险点

  • 注册/修改个人信息处(上传头像)
  • 敏感身份认证处(身份证照片/银行卡照片/个人照片……)【多为金融/借贷应用】
  • 订单评价反馈处(上传商品照片)【淘宝/京东……】
  • 朋友圈/空间
  • 所有能上传操作的地方……

1.3 漏洞危害

  • 获取服务器WebShell权限
    • 查看/上传/下载对方文件(任意操作对方服务器数据)
    • 查看数据库信息(拖库)
    • 执行命令
    • 挂黑页(恶搞 / 报复)

文件上传漏洞介绍_第2张图片

二、利用方式

  • 小马
  • 大马
  • 一句话 + webshell管理工具(中国菜刀 / 中国蚁剑 / 冰蝎)

三、挖掘方式

  1. 判断站点开发语言(asp/php/jsp)
  2. 拿到上传文件的返回路径

上传允许的文件,前端/抓包方式查看返回的路径(如果绝对路径直接访问,相对路径按经验进行URl地址拼接)

  1. 恶意文件能够上传(上传桡过)

四、上传限制

  1. 恶意文件允许被上传
  2. 拿到上传文件的URL绝对路径
  3. 站点对上传的文件有可执行权限(能被解析)

五、上传绕过

(如果在服务器可以解析和能够拿到上传文件路径的情况下,上传绕过算是上传漏洞实现的核心操作)

  • upload-labs靶场练习(总21关)
    文件上传漏洞介绍_第3张图片

六、防御措施

  • 针对开发/运维人员
    • 增强网络安全意识,了解上传漏洞原理和利用手段
    • 系统定期维护扫描,排查可疑/恶意脚本文件
    • 对开源代码/cms,及时注意软件版本和官方补丁更新
    • 服务器文件目录严格合理配置

  • 开发阶段防御
    • 上传目录设置为不可执行(重要!即使可以上传脚本,服务器本身也不会受到影响)
    • 文件校验黑白名单方式严格过滤(建议白名单)
    • 使用随机数/时间戳改写文件路径(防止.htaccess等攻击,增大攻击成本)
    • 使用三方服务器存储文件(将上传应用独立存储为静态文件存放在三方服务器上,一方面使用缓存加速降低服务器资源消耗;另一方面杜绝了脚本执行的可能)

  • 上线阶段防御
    • 定期对系统进行内部安全扫描(内部扫描)
    • 定期签约进行渗透测试服务(外部排查)

你可能感兴趣的:(Web安全)