websocket测试基础

2023-11-14 20:12:13 浏览数 (1)

websockert

  • HTML5
  • 基于TCP协议的独立的通信协议

URI格式

  • ws://
    • 类似与http
    • 使用明文传输 ,默认端口为80
    • ws://host[:port]path[?query]
  • wss://
    • 类似于https
    • 使用TLS加密传输,默认端口为443
    • wss://host[:port]path[?query]

通信协议

客户端

代码语言:javascript复制
GET / HTTP/1.1 
 
Host: localhost:8080 
 
Origin: http://127.0.0.1:3000
 
Connection: Upgrade 
 
Upgrade: websocket
 
Sec-WebSocket-Version: 13 
 
Sec-WebSocket-Key: w4v7O6xFTi36lq3RNcgctw==
 

  • Connection:Upgrade:表示要升级协议
  • Upgrade:websocket:表示要升级到websocket协议。
  • Sec-WebSocket-Version:13:表示websocket的版本。如果服务端不支持该版本,需要返回一个 Sec-WebSocket-Versionheader,里面包含服务端支持的版本号。
  • Sec-WebSocket-Key

服务端:响应协议升级

代码语言:javascript复制
HTTP/1.1 101 Switching Protocols
 
Connection:Upgrade
 
Upgrade: websocket
 
Sec-WebSocket-Accept: Oy4NRAQ13jhfONC7bP8dTKb4PTU=
 

websocket渗透学习

  • https://github.com/snoopysecurity/dvws-node
  • https://portswigger.net/web-security/websockets

工具使用

burp不支持websockert爆破,协议转换 http-->websockertHTTP2WebSocket

剩下的就按照平常的方法去做就好了

至于报告和学习的话,可以在这个里面查一些资料进行学习

https://hackerone.com/hacktivity/overview?queryString=websocket&sortField=disclosed_at&sortDirection=DESC

0 人点赞