记一次曲折的黑盒oa到通杀getshell
字数 1204 2025-08-25 22:58:46

OA系统黑盒测试到Getshell实战分析

漏洞发现过程概述

  1. 初始入口:通过弱口令成功登录目标OA系统
  2. 目标定位:寻找系统上传功能点作为突破口
  3. 绕过尝试:发现系统存在黑名单过滤机制
  4. 文件上传:成功上传jspx文件但未返回路径
  5. 路径发现:通过分析系统其他图片路径推断上传文件存储位置
  6. 目录遍历:利用路径参数实现目录穿越
  7. 最终利用:成功上传Webshell获取系统权限

详细技术分析

1. 弱口令利用

  • 攻击者首先通过弱口令成功登录系统
  • 典型弱口令组合如admin/admin、admin/123456等
  • 建议:系统应强制复杂密码策略并启用账户锁定机制

2. 文件上传功能分析

  • 系统存在文件上传功能,但实施了黑名单过滤
  • 黑名单通常过滤常见危险扩展名如.jsp、.php等
  • 攻击者尝试上传.jspx文件绕过:
    • .jspx是JSP文档的XML格式变体
    • 许多系统未将.jspx纳入黑名单
    • 上传成功但未返回存储路径

3. 路径推断技术

  • 通过分析系统其他图片URL结构推断上传文件存储位置:

    • 发现类似/2015/logo/时间戳命名文件的路径模式
    • 2015可能是年份或版本号
    • logo可能是上传参数决定的子目录
    • 时间戳用于文件命名
  • 通过修改个人设置中的头像上传功能:

    • 发现path参数控制上传目录
    • path=cooperatepath=peopleinfo对应不同目录
    • 上传的图片会存储在/path参数值/目录下

4. 目录遍历漏洞利用

  • 尝试使用../进行目录穿越时返回500错误
  • 尝试使用..\(Windows路径风格)成功实现目录穿越:
    • 例如设置path=..\可上传文件到上级目录
    • 系统未对路径参数中的特殊字符进行充分过滤
    • 成功将.jspx文件上传到Web可访问目录

5. Webshell上传与利用

  • 上传包含恶意代码的.jspx文件
  • 通过浏览器访问上传的Webshell执行系统命令
  • 最终获取系统控制权限

漏洞修复建议

  1. 输入验证强化

    • 对上传文件名实施白名单机制
    • 过滤所有路径遍历字符(../, ..\,编码形式等)
    • 限制path参数只能为预定义的合法值
  2. 文件上传安全

    • 禁止上传可执行文件类型
    • 对上传文件内容进行检测
    • 使用随机化文件名并存储在Web根目录外
  3. 系统加固

    • 实施严格的密码策略
    • 限制服务器文件系统权限
    • 定期安全审计和渗透测试
  4. 日志与监控

    • 记录所有文件上传操作
    • 监控异常文件访问模式
    • 设置针对目录遍历尝试的告警

技术总结

本案例展示了从弱口令到最终获取系统权限的完整攻击链,关键点在于:

  1. 利用系统未将.jspx纳入黑名单的缺陷
  2. 通过系统现有功能推断文件存储路径
  3. 利用路径参数未充分过滤实现目录穿越
  4. Windows环境下..\../处理差异的利用

这种攻击方式对许多OA系统具有通用性,防御方应从身份认证、输入验证、文件管理等多层面建立纵深防御体系。

OA系统黑盒测试到Getshell实战分析 漏洞发现过程概述 初始入口 :通过弱口令成功登录目标OA系统 目标定位 :寻找系统上传功能点作为突破口 绕过尝试 :发现系统存在黑名单过滤机制 文件上传 :成功上传jspx文件但未返回路径 路径发现 :通过分析系统其他图片路径推断上传文件存储位置 目录遍历 :利用路径参数实现目录穿越 最终利用 :成功上传Webshell获取系统权限 详细技术分析 1. 弱口令利用 攻击者首先通过弱口令成功登录系统 典型弱口令组合如admin/admin、admin/123456等 建议:系统应强制复杂密码策略并启用账户锁定机制 2. 文件上传功能分析 系统存在文件上传功能,但实施了黑名单过滤 黑名单通常过滤常见危险扩展名如.jsp、.php等 攻击者尝试上传.jspx文件绕过: .jspx是JSP文档的XML格式变体 许多系统未将.jspx纳入黑名单 上传成功但未返回存储路径 3. 路径推断技术 通过分析系统其他图片URL结构推断上传文件存储位置: 发现类似 /2015/logo/时间戳命名文件 的路径模式 2015可能是年份或版本号 logo可能是上传参数决定的子目录 时间戳用于文件命名 通过修改个人设置中的头像上传功能: 发现path参数控制上传目录 path=cooperate 和 path=peopleinfo 对应不同目录 上传的图片会存储在 /path参数值/ 目录下 4. 目录遍历漏洞利用 尝试使用 ../ 进行目录穿越时返回500错误 尝试使用 ..\ (Windows路径风格)成功实现目录穿越: 例如设置 path=..\ 可上传文件到上级目录 系统未对路径参数中的特殊字符进行充分过滤 成功将.jspx文件上传到Web可访问目录 5. Webshell上传与利用 上传包含恶意代码的.jspx文件 通过浏览器访问上传的Webshell执行系统命令 最终获取系统控制权限 漏洞修复建议 输入验证强化 对上传文件名实施白名单机制 过滤所有路径遍历字符( ../ , ..\ ,编码形式等) 限制path参数只能为预定义的合法值 文件上传安全 禁止上传可执行文件类型 对上传文件内容进行检测 使用随机化文件名并存储在Web根目录外 系统加固 实施严格的密码策略 限制服务器文件系统权限 定期安全审计和渗透测试 日志与监控 记录所有文件上传操作 监控异常文件访问模式 设置针对目录遍历尝试的告警 技术总结 本案例展示了从弱口令到最终获取系统权限的完整攻击链,关键点在于: 利用系统未将.jspx纳入黑名单的缺陷 通过系统现有功能推断文件存储路径 利用路径参数未充分过滤实现目录穿越 Windows环境下 ..\ 与 ../ 处理差异的利用 这种攻击方式对许多OA系统具有通用性,防御方应从身份认证、输入验证、文件管理等多层面建立纵深防御体系。