应急响应之文件上传漏洞排查
字数 1601 2025-08-07 08:22:05

文件上传漏洞应急响应与排查指南

1. 事件概述

本文档基于一起真实的非法文件上传事件应急响应案例,详细分析文件上传漏洞的发现、排查、分析和修复过程。

2. 事件处置流程

2.1 基本情况查看

  1. 态势感知系统检查

    • 查看文件上传的详细记录
    • 确认攻击者上传的文件类型(案例中为.cer文件)
    • 确认攻击者IP(案例中为国外动态恶意IP)
  2. 服务器检查

    • 确认木马文件类型(案例中为ASP冰蝎木马)
    • 立即删除已发现的木马文件

2.2 全面排查可疑项目

  1. 端口检查

    netstat -ano  # 查看所有开放端口
    netstat -ano|findstr "port"  # 检查特定端口
    
    • 重点关注高危端口如3389(远程桌面)
  2. 账户检查

    • 运行lusrmgr.msc查看本地用户和组
    • 注意以$结尾的隐藏账户
  3. 计划任务检查

    Get-ScheduledTask  # 查看所有计划任务
    
  4. 进程检查

    tasklist  # 查看所有进程
    
  5. 可疑文件检查

    • 检查C盘下的temp/tmp目录
    • 使用D盾等工具扫描webshell
  6. 内存马检查

    • 使用工具:dumpit、redline、ram capturer等

3. 漏洞分析

3.1 漏洞成因分析

  1. 攻击路径分析

    • 非寻常上传路径,非通过常规fuzz或字典获取
    • 排除源码泄漏(检查网站目录和GitHub)
    • 发现旁站存在Swagger未授权访问
  2. Swagger未授权访问

    • 常见于Spring框架
    • 常伴随Actuator未授权访问
    • 常见访问路径:
      /v2/api-docs
      /swagger-ui.html
      /swagger/api
      /swagger/Swagger/ui/index
      /api/swaggerui
      /swagger/ui
      /api/swagger-ui.html
      /user/swagger-ui.html
      /libs/swaggerui
      /swagger/index.html
      /swagger-resources/configuration/ui
      /swagger-resources/configuration/security
      /api.html
      /druid/index.html
      /sw/swagger-ui.html
      /api/swagger-ui.html
      /template/swagger-ui.html
      /spring-security-rest/api/swagger-ui.html
      /spring-security-oauth-resource/swagger-ui.html
      /swagger/v1/swagger.json
      /swagger/v2/swagger.json
      /api-docs
      /api/doc
      /docs/
      /doc.html
      /v1/api-docs
      /v3/api-docs
      
    • 使用"Try out"按钮可直接进行发包测试
  3. 攻击复现

    • 网站存在黑名单限制
    • 攻击者成功上传.cer格式文件
    • 利用IIS 6.0解析漏洞成功连接木马

3.2 常见解析漏洞详解

3.2.1 IIS 6.0解析漏洞

  1. 目录解析

    • /xx.asp/xx.jpg
    • 任何在.asp/.asa命名文件夹下的文件都被当作ASP文件解析
  2. 文件解析

    • xx.asp;.jpg(如1.asp;.jpg
    • 服务器会将其视为1.asp
  3. 解析类型

    • IIS 6.0默认可执行扩展名:
      • .asp
      • .asa
      • .cer(案例中攻击者利用的漏洞)
      • .cdx

3.2.2 IIS 7.0/IIS 7.5/Nginx <8.03畸形解析漏洞

  • 在Fast-CGI开启状态下
  • 上传内容为PHP代码的图片文件(如1.jpg
  • 访问1.jpg/.php会在目录下生成一句话木马shell.php

3.2.3 Nginx <8.03空字节代码执行漏洞

  • 影响版本:
    • 0.5.x
    • 0.6.x
    • 0.7 <= 0.7.65
    • 0.8 <= 0.8.37
  • 上传图片马后访问xxx.jpg%00.php可执行其中代码

3.2.4 Apache解析漏洞

  • 文件命名格式:test.php.x1.x2.x3
  • Apache从右向左判断后缀
  • 遇到不可识别后缀会继续向左判断
  • 例如1.php.rar会被解析为PHP文件

4. 修复方案

4.1 临时配置策略

  1. 防火墙配置
    • 禁止外网IP访问Swagger目录
    • 禁止外网IP访问上传路径

4.2 代码修复

  1. 权限验证

    • 为Swagger接口添加访问权限验证
    • 为Actuator接口添加访问权限验证
    • 为文件上传接口添加权限验证
  2. 安全配置

    • 关闭不必要的API文档接口
    • 限制上传文件类型
    • 实施文件内容检查

5. 应急响应标准流程

  1. 初步处置

    • 详细了解事件情况
    • 与客户协商断网关机处理
    • 使用主机安全管理设备进行全盘病毒查杀
  2. 证据保存

    • 将木马文件、可疑文件保存本地
    • 清除服务器上的可疑文件
  3. 威胁分析

    • 分析木马类型(如冰蝎、菜刀等)
    • 评估可能造成的危害
  4. 全面排查

    • 文件排查
    • 进程排查
    • 内存排查
    • 防止攻击者留下后门
  5. 漏洞修复

    • 先使用WAF、防火墙等设备紧急防护
    • 等待研发人员进行彻底修复

6. 总结

文件上传漏洞是Web应用常见高危漏洞,攻击者常结合解析漏洞和未授权访问漏洞实施攻击。应急响应时应全面排查系统,重点关注异常文件、进程和账户。修复时应先实施临时防护措施,再进行代码层面的彻底修复。

文件上传漏洞应急响应与排查指南 1. 事件概述 本文档基于一起真实的非法文件上传事件应急响应案例,详细分析文件上传漏洞的发现、排查、分析和修复过程。 2. 事件处置流程 2.1 基本情况查看 态势感知系统检查 : 查看文件上传的详细记录 确认攻击者上传的文件类型(案例中为.cer文件) 确认攻击者IP(案例中为国外动态恶意IP) 服务器检查 : 确认木马文件类型(案例中为ASP冰蝎木马) 立即删除已发现的木马文件 2.2 全面排查可疑项目 端口检查 : 重点关注高危端口如3389(远程桌面) 账户检查 : 运行 lusrmgr.msc 查看本地用户和组 注意以 $ 结尾的隐藏账户 计划任务检查 : 进程检查 : 可疑文件检查 : 检查C盘下的temp/tmp目录 使用D盾等工具扫描webshell 内存马检查 : 使用工具:dumpit、redline、ram capturer等 3. 漏洞分析 3.1 漏洞成因分析 攻击路径分析 : 非寻常上传路径,非通过常规fuzz或字典获取 排除源码泄漏(检查网站目录和GitHub) 发现旁站存在Swagger未授权访问 Swagger未授权访问 : 常见于Spring框架 常伴随Actuator未授权访问 常见访问路径: 使用"Try out"按钮可直接进行发包测试 攻击复现 : 网站存在黑名单限制 攻击者成功上传.cer格式文件 利用IIS 6.0解析漏洞成功连接木马 3.2 常见解析漏洞详解 3.2.1 IIS 6.0解析漏洞 目录解析 : /xx.asp/xx.jpg 任何在.asp/.asa命名文件夹下的文件都被当作ASP文件解析 文件解析 : xx.asp;.jpg (如 1.asp;.jpg ) 服务器会将其视为 1.asp 解析类型 : IIS 6.0默认可执行扩展名: .asp .asa .cer (案例中攻击者利用的漏洞) .cdx 3.2.2 IIS 7.0/IIS 7.5/Nginx <8.03畸形解析漏洞 在Fast-CGI开启状态下 上传内容为PHP代码的图片文件(如 1.jpg ) 访问 1.jpg/.php 会在目录下生成一句话木马 shell.php 3.2.3 Nginx <8.03空字节代码执行漏洞 影响版本: 0.5.x 0.6.x 0.7 <= 0.7.65 0.8 <= 0.8.37 上传图片马后访问 xxx.jpg%00.php 可执行其中代码 3.2.4 Apache解析漏洞 文件命名格式: test.php.x1.x2.x3 Apache从右向左判断后缀 遇到不可识别后缀会继续向左判断 例如 1.php.rar 会被解析为PHP文件 4. 修复方案 4.1 临时配置策略 防火墙配置 : 禁止外网IP访问Swagger目录 禁止外网IP访问上传路径 4.2 代码修复 权限验证 : 为Swagger接口添加访问权限验证 为Actuator接口添加访问权限验证 为文件上传接口添加权限验证 安全配置 : 关闭不必要的API文档接口 限制上传文件类型 实施文件内容检查 5. 应急响应标准流程 初步处置 : 详细了解事件情况 与客户协商断网关机处理 使用主机安全管理设备进行全盘病毒查杀 证据保存 : 将木马文件、可疑文件保存本地 清除服务器上的可疑文件 威胁分析 : 分析木马类型(如冰蝎、菜刀等) 评估可能造成的危害 全面排查 : 文件排查 进程排查 内存排查 防止攻击者留下后门 漏洞修复 : 先使用WAF、防火墙等设备紧急防护 等待研发人员进行彻底修复 6. 总结 文件上传漏洞是Web应用常见高危漏洞,攻击者常结合解析漏洞和未授权访问漏洞实施攻击。应急响应时应全面排查系统,重点关注异常文件、进程和账户。修复时应先实施临时防护措施,再进行代码层面的彻底修复。