什么是 webSocket?攻击面、安全风险与测试要点

用burp测试web应用的时候,proxy除了http/https 还有websockets。

websockets用来干啥的,安全风险何在,如何测试。试着说一下。。。。


1 细数 Websocket and HTTP

协议层面:HTTP vs WebSocket

  • HTTP
    • 基于请求-响应模型,客户端必须主动发起请求,服务器才能返回数据。
    • 每次请求独立,通常是短连接(HTTP/1.1 支持 Keep-Alive,但仍是请求驱动)。
  • WebSocket
    • 在单个 TCP 连接上实现双向通信,握手完成后,客户端和服务器可互相主动发送消息,无需重复握手。
    • 有状态协议,连接保持打开,支持实时交互。

连接方式

  • HTTP
    • 每次请求都需完整 HTTP 报文头,开销大。
  • WebSocket
    • 握手阶段通过 HTTP 协议升级(Upgrade: websocket),之后切换到 WebSocket 协议。
    • 通信时仅需轻量级帧结构,开销小。

典型使用场景

  • HTTP:网页加载、API 调用、文件传输。
  • WebSocket :实时性要求高的应用,如:
    • 聊天系统
    • 在线游戏
    • 股票行情推送
    • 协作编辑

如何加固第一步+s

  • HTTP
    • 可使用 HTTPS 加密,成熟度高,安全工具支持广泛。
  • WebSocket
    • 可使用 WSS(WebSocket Secure),但安全测试工具支持较弱,渗透测试难度更高。

2 WebSocket 与 HTTP 的关系

  • 相同点
    • 都基于 TCP,都是应用层协议。
  • 不同点
    • WebSocket 支持双向通信,HTTP 单向。
    • WebSocket 需握手建立连接。
  • 联系
    • 握手阶段通过 HTTP,之后独立于 HTTP。

3 攻击面分析

根据 Black Hills Information SecurityWeb Security Academy 的研究,WebSocket 的攻击面包括:

  1. 协议降级攻击
    • 将 WebSocket 降级为 HTTP,利用客户端库漏洞(如 socket.io)。
  2. 握手中断
    • 在 HTTP Upgrade 阶段进行拦截或篡改,导致连接失败或劫持。
  3. 消息篡改与注入
    • 利用缺乏严格验证的消息格式,进行 XSS、命令注入。
  4. 认证与授权缺陷
    • 长连接状态下,令牌过期处理不当,导致会话劫持。
  5. DoS 攻击
    • 利用持续连接消耗服务器资源。

安全测试要点


总结

WebSocket 提供了高效的实时通信能力,但也带来了新的安全挑战。相比传统 HTTP,WebSocket 的攻击面更广,测试难度更高。安全团队应重点关注握手过程、消息验证、会话管理,并结合专业工具进行渗透测试。

相关推荐
努力的lpp3 小时前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
三8443 小时前
redis防御加固与安全基线
数据库·redis·安全·应急响应·防御
乐迪信息5 小时前
如何通过AI防爆摄像机精准判断船舶超速?
大数据·人工智能·算法·安全·目标跟踪
luiyarch5 小时前
汽车电子ISO 26262功能安全系列(第35期):配置管理与变更管理——给安全系统装上“时空穿梭机”
安全·汽车
蒲公英eric5 小时前
从直接重定向到白名单验证:DVWA 开放重定向模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·开放重定向模块
黎阳之光7 小时前
数字孪生赋能全域水网,实现水资源管控与节水降碳双向提升
人工智能·物联网·算法·安全·数字孪生
天道jimmy7 小时前
VulnHub 系列:HA, Wordy
linux·服务器·web安全
福大大架构师每日一题7 小时前
mediamtx v1.21.0 发布:Media-over-QUIC、RTSP、HLS、WebRTC 与安全能力全面升级
安全·webrtc
xian_wwq7 小时前
【学习笔记】OWASP Agentic 应用安全(二)
笔记·学习·安全·owasp
科技每日热闻11 小时前
中国企业出海开展业务,如何挑选可安全合规使用国际大模型的云平台?Amazon Bedrock 在同一平台完成国际模型接入、区域选择与合规治理
大数据·人工智能·安全·ai