CVE-2025-60830CVE-2025-60830是redragon-erp企业资源管理系统v1.0版本中存在的一个Apache Shiro反序列化漏洞。该漏洞的根本原因在于系统使用了Apache Shiro框架默认的密钥(Default Key)来加密和签名Cookie中的RememberMe字段,导致攻击者可以构造恶意的序列化数据进行反序列化攻击。Apache Shiro是一个广泛使用的Java安全框架,其RememberMe功能通过AES加密和Base64编码来存储用户身份信息。当使用默认密钥时,攻击者可以轻松获取该密钥(公开已知),从而伪造合法的RememberMe Cookie,注入精心构造的恶意序列化数据。当Shiro对Cookie进行解密和反序列化时,会触发Java原生反序列化机制,可能导致远程代码执行(RCE)。该漏洞的CVSS 3.1评分为6.5,属于中危级别,攻击向量为网络攻击,无需认证和用户交互即可发起攻击。虽然机密性影响较低,但完整性和可用性均存在低风险,攻击者可能通过该漏洞获取服务器部分控制权或执行未授权操作。redragon-erp作为企业资源管理系统,存储着企业核心业务数据,此漏洞的存在对企业数据安全构成严重威胁。
该漏洞的技术原理基于Apache Shiro框架的RememberMe功能实现机制。Apache Shiro在处理RememberMe Cookie时,采用了AES-CBC加密算法对用户身份信息进行加密,然后进行Base64编码后存储在Cookie中。加密过程需要使用一个密钥(Key),系统通过硬编码或配置文件获取该密钥。
在redragon-erp v1.0中,开发人员未修改Shiro框架的默认密钥,而是直接使用了Shiro提供的默认硬编码密钥。这个默认密钥是公开已知的(常量值为kPH+bIxk5D2deZiIxcaaaA==),任何攻击者都可以从Shiro源码或公开资料中获取。
攻击利用过程如下:
1. 攻击者首先构造一个恶意的Java序列化对象,通常使用ysoserial等工具生成包含Gadget链的序列化数据。常用的Gadget链包括CommonsCollections、CommonsBeanutils等。
2. 使用已知的默认密钥,通过AES-CBC算法对恶意序列化数据进行加密,然后进行Base64编码,形成伪造的RememberMe Cookie。
3. 攻击者将该Cookie发送到目标服务器的任意接口,Shiro框架会自动对该Cookie进行解密和反序列化操作。
4. 在反序列化过程中,恶意Gadget链被触发,执行攻击者预设的命令(如执行系统命令、下载恶意软件等)。
整个攻击过程无需认证,无需用户交互,可通过网络直接发起,攻击门槛极低。