websockert
- HTML5
- 基于TCP协议的独立的通信协议
URI格式
- ws://
- 类似与http
- 使用明文传输 ,默认端口为80
ws://host[:port]path[?query]
- wss://
- 类似于https
- 使用TLS加密传输,默认端口为443
wss://host[:port]path[?query]
通信协议
客户端
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-Version
header,里面包含服务端支持的版本号。Sec-WebSocket-Key
:
服务端:响应协议升级
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–>websockert
HTTP2WebSocket