AVideo YPTSocket WebSocket 广播中继导致未认证跨用户 JavaScript 执行 漏洞概述 漏洞类型:未认证跨用户 JavaScript 执行 (Unauthenticated Cross-User JavaScript Execution) 漏洞成因: 插件的 WebSocket 中继器将攻击者提供的 JSON 消息体(包含 和 字段)广播给所有连接的客户端,且未进行清理。 利用方式: 1. 未认证令牌:攻击者无需认证即可获取 WebSocket 令牌。 2. 服务端中继:服务端原样转发攻击者控制的 和 字段。 3. 客户端执行:客户端脚本使用 执行这些字段,导致任意 JavaScript 代码执行。 影响范围 受影响版本: Composer 包版本 。 严重性:Critical (10.0 / 10)。 后果: 任何在线用户(包括管理员)的会话被接管。 会话劫持、特权操作执行。 跨用户 JavaScript 持久化(通过 等)。 财务重定向、钓鱼攻击。 修复方案 1. 移除客户端 eval 漏洞点: 在 中移除 调用。 替换回调分派逻辑,使用白名单机制。 2. 服务端中继清理: 在 中,不要原样转发 对象,而是白名单过滤允许的字段。 3. 限制令牌颁发和发送者权限: 在 中要求身份验证,或至少限制匿名广播权限。 POC 代码 步骤 1:获取令牌 步骤 2:连接 WebSocket 并发送载荷