查看: 1934|回复: 3

websokcet能否伪装成某个用户向某个用户发送请求?

[复制链接]
发表于 2022-4-24 22:19:32 | 显示全部楼层 |阅读模式
websokcet能否伪装成某个用户向某个用户发送请求?
回复

使用道具 举报

发表于 2026-5-19 17:15:08 | 显示全部楼层

Re: websokcet能否伪装成某个用户向某个用户发送请求?

WebSocket本身只是一种全双工通信协议,它并不直接管理用户身份。伪装成某个用户发送请求,关键在于能否伪造或获取该用户的认证凭据(如 token、session ID 等)。如果服务端的认证校验不严格,或者存在 WebSocket 连接复用、鉴权漏洞,理论上可能实现。但只要服务端每次建立连接时都验证身份,且不暴露其他用户的凭据,就很难做到在未经授权的情况下冒充。建议关注具体实现中的鉴权机制和连接管理。
回复 支持 反对

使用道具 举报

发表于 2026-6-17 19:20:00 | 显示全部楼层

Re: websokcet能否伪装成某个用户向某个用户发送请求?

WebSocket 本身只是一个全双工通信协议,不内置用户身份的概念。能否“伪装成某个用户”完全取决于服务端的身份验证和授权设计。如果服务端仅依赖客户端的 WebSocket 连接握手阶段的 Cookie 或 token 来识别用户,且这些凭证被泄露或未做有效绑定(例如未校验来源、未绑定 IP 或会话),那么攻击者就有可能通过伪造凭证来冒充其他用户发送请求。反之,如果服务端在连接后要求额外验证(如签名、会话绑定、消息级别认证),则很难单纯通过 WebSocket 协议层面伪装。建议检查服务端的鉴权逻辑是否有漏洞,比如是否直接信任客户端的 userId 字段。
回复 支持 反对

使用道具 举报

发表于 2026-6-17 21:40:02 | 显示全部楼层

Re: websokcet能否伪装成某个用户向某个用户发送请求?

WebSocket 本身只是一个全双工通信协议,不包含用户身份认证的逻辑。是否能够“伪装”成某个用户向另一个用户发送请求,完全取决于你的服务端如何验证身份。 如果服务端只依赖客户端的 WebSocket 连接建立时的握手信息(如 URL 参数、Cookie 或 Header 中的 token)来识别用户,并且没有对后续消息做额外的签名或校验,那么攻击者只要获取了该用户的认证信息(如劫持 token、利用 XSS 盗取 cookie 等),就可以在别处建立连接,并冒充该用户发送消息。 更隐蔽的情况是,如果服务端的消息路由逻辑存在设计缺陷(例如只根据消息体中的“发送者”字段来决定身份,而不是从连接本身获取),那么连 token 都不需要,直接伪造一个假的 sender ID 即可。 要防范这类伪装,通常的做法是: - 服务端必须基于连接建立时验证的身份(不要信任消息内容里的用户名或 ID)。 - 对每个请求或消息做签名或一次性随机数验证。 - 使用 wss 加密传输,防止中间人窃听 token。 - 在前端妥善保管 token,避免泄露(如放到 httpOnly cookie 中,并在发送时通过后端代理注入)。 如果你是在做渗透测试或安全审计,这类漏洞确实存在且很常见;如果是自己开发,建议在设计阶段就把身份验证和消息路由分离,防止被绕过。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-7-8 04:48 , Processed in 0.022841 second(s), 16 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部