实时通信接口为何会遭遇跨站会话滥用,握手与消息阶段应怎样设防?
简答题困难625 次浏览
参考答案与解析
# 核心结论
实时通信接口会遭遇跨站会话滥用,是因为浏览器能够从恶意页面发起到目标站点的 WebSocket 握手,并可能自动携带目标站点的认证 Cookie。攻击页面未必能读取普通跨源响应,却可能借受害者会话建立长连接并发送业务消息。因此,防护必须贯穿握手来源校验、连接凭证、一次性授权、消息级鉴权、限流及撤权后的连接清理,不能只在连接建立时判断“用户已登录”。
# 底层机制
WebSocket 通常先通过带有 Upgrade: websocket 的 HTTP 请求完成握手。浏览器会发送 Origin,服务端应对方案、主机和端口进行精确允许列表匹配。不能使用字符串包含、缺少边界的后缀判断或直接
