CVE ID: CVE-2025-70829
影响产品: Datart
版本: v1.0.0-rc.3
漏洞类型: 信息泄露 (Information Exposure)
Datart v1.0.0-rc.3 存在信息泄露漏洞,允许经过身份验证的攻击者通过自定义 H2 JDBC 连接字符串访问敏感数据。通过引导应用程序连接到自身的内部数据库文件,攻击者可以查询包含用户凭据和配置详情的系统表。
jdbc:h2:file:./bin/h2/datart.demo;MODE=MySQL
通过从数据库中检索用户的密码哈希值,攻击者可以伪造有效的 JWT 令牌来冒充任何用户(例如管理员)。这是因为应用程序使用了硬编码的密钥 (d@a$t%a^r&a*t),并且在令牌载荷中包含了密码哈希的 Java hashCode()。
SQL 查询:
SELECT id, username, email, password, name FROM user;
利用方法: 使用获取到的
password哈希配合jwttest.py生成有效的Bearer令牌,以实现任意用户登录。
攻击者还可以检索其他已连接数据源的配置信息。
SQL 查询:
SELECT * FROM source;
解密:
source 表中的 config 字段通常使用 AES 加密。应用程序使用了一个默认的硬编码安全密钥:
默认安全密钥:
d@a$t%a^r&a*t
您可以使用提供的 Decrypt.java 工具(其中已包含此默认密钥)来解密这些值,从而获取外部数据库的明文凭据。
Decrypt.java。