免责声明
本公众号所发布的所有内容,包括但不限于信息、工具、项目以及文章,均旨在提供学习与研究之用。所有工具安全性自测。如因此产生的一切不良后果与文章作者和本公众号无关。如有涉及公司与个人敏感信息,侵权烦请告知,我们会立即删除并致歉。
补丁分析
前言
最近看到发了契约锁的漏洞情报,尝试根据补丁对漏洞进行分析。
补丁分析
首先在契约锁的安全补丁下载页面下载最新补丁。
下载完后发现有一个jar包private-security-patch.jar,补丁代码就在这个文件里。
对该jar包进行反编译后,发现存在静态文件security.rsc,其内容是加密的。
在SecurityResourceOperator类中看到对该文件的处理。
通过调用RSAUtils.decryptByDefaultPrivateKey对加密内容进行解密。
copy这段代码,对security.rsc文件进行解密,发现基本上都是路由信息,最后面解密出来的路由为:
/setup/dbtest
/api/setup/dbtest
/document/createbyofd
/api/document/createbyofd
代码分析
根据补丁分析中解密出来的路由,在代码里进行分析,在SetupController中发现了/dbtest路径的@RequestMapping注解,不难猜测这是一个数据库连接的功能,如果没有传入db,默认为mysql,之后尝试获取host、port、name、username,然后调用this.setupService.check方法。
在this.setupService.check方法中,调用了this.validateDatabase方法。
在this.validateDatabase方法中,调用了this.dbtest方法。
在this.dbtest方法中,调用了this.databaseService.getConnection,合理猜测这里存在推断jdbc连接漏洞。
最后会调用到DatabaseConnection#getConnection方法,触发jdbc连接。
原文始发于微信公众号(良月安全):契约锁最新漏洞补丁分析
原文始发于微信公众号(良月安全):契约锁最新漏洞补丁分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论