记一次曲折的黑盒oa到通杀getshell
字数 1204 2025-08-25 22:58:46
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系统具有通用性,防御方应从身份认证、输入验证、文件管理等多层面建立纵深防御体系。