如何使用 Burp Suite 手工测试 WebSocket

简介

在最近一次护网中发现了这个漏洞,用一键 exp 打不了,后改用手工使用 Burp Suite 测试

之后也找到了 exp 的问题在哪

手工测试

高版本使用非常简单,首先找到换协议的包

image

然后在 Repeater 里新建 Websocket

image

直接连接就完事儿了,非常简单。

然后发送跟普通请求也差不了多少

这是真的有手就行。

exp 修正

其实就是常见的 exp,没有忽略证书错误。

1
2
3
4
5
6
# 创建一个不验证证书的 SSL 上下文
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE

async with websockets.connect('wss://your.websocket.server', ssl=ssl_context) as websocket:

还有部分 exp 压根不考虑 https,需要手动添加将 https://​ 换成 wss://