如何使用Burp Suite测试WebSocket

BurpSuite具有测试WebSocket的能力,可以实时拦截和修改WebSocket消息。遗憾的是,Burp缺乏针对WebSockets的Repeater、Scanner或Intruder功能。但在新版BurpSuite中,增加了针对WebSockets的Repeater功能。

1、在Burp中,WebSocket拦截是默认启用的,你只需打开主拦截即可。这样一来,你就可以通过与HTTP相同的方式获取所截获的WebSocket双向消息。同时也可以在拦截窗口中编辑它们。

2、在Proxy-Options页面,可以配置在主拦截页面可以截获哪个方向的WebSocket流量。默认情况下,两个方向的流量均会截获。

3、在WebSockets历史记录选项卡中可以查看历史WebSocket消息。点击某条消息,会在下方显示消息内容。

4、在新版BurpSuite中,WebSocket增加了Repeater功能。在Repeater中可以实现消息的修改和重放。在WebSockets历史记录中选择某条待测消息,右击,选择Send to Repeater。

5、此时在Repeater选项卡下就会显示这条消息,我们可以一遍又一遍地对这条消息进行重新编辑并继续发送。左边Send WebSocket Message面板中,在raw或Hex页面可以编辑消息;点击send可以发送消息;选择To server/To client可以控制消息发送的方向;勾选Select next message Received表示从另一个方向返回的消息将在右边History面板被自动选择并显示在下方。

6、在Repeater下的History面板中会记录历史消息,包括消息的具体内容、方向、人工/自动发送、长度、发送时间和WebSocket ID。WebSocket ID是burpsuite中引用WebSocket的唯一标识符。当我们选中History面板中某条消息时,消息的具体内容就会显示在面板下方,可以切换raw和Hex两种格式。

7、在History面板中,可以选中某条消息,右击,在下拉列表中点击Edit and resend,此时,burpsuite会将这条消息发送到左边面板,覆盖原始消息。通过这种方法,我们可以编辑并重新发送更多消息。

8、我们可以在浏览器中实时查看在Repeater中编辑发送的消息,这是因为我们正在浏览器和服务器建立的实时WebSocket中注入消息。

9、在Repeater中,我们还可以控制发送消息的WebSocket连接。点击上方的铅笔图标,在弹出页面中会显示所有已创建的WebSocket列表。可以点击New WebSocket创建一个新的WebSocket链接;可以选中一个连接状态的WebSocket链接,点击clone复制,点击attach切换;也可以选中一个断开状态的WebSocket链接,点击Reconnect重新连接。

10、点击铅笔图标左边的绿色开关,可以断开或者重新连接正在使用的WebSocket。

11、点击选项卡标题中的三个点,在下拉列表中选择WebSocket,就可以在Repeater中新建一个全新的WebSocket选项卡。在弹出页面选中一个连接状态的WebSocket链接,点击attach,就可以在新选项卡页面附加上这个WebSocket。

 

posted @ 2023-01-04 16:13  zhengna  阅读(2983)  评论(0编辑  收藏  举报