一个用于使用自定义 Python 代码对 WebSocket 消息进行模糊测试的扩展。
注意:这将建立一个新的 WebSocket 连接来发送消息。
queue_websockets(base_websocket, message)websocket_connection 对象提供以下方法:
create(base_websocket) 使用 Burp Suite 创建一个 WebSocket 连接。create(base_websocket, engine) 使用受支持的引擎之一初始化连接:BURP、TURBO 或 THREADED。create(base_websocket, engine, config) 使用手动设置初始化连接,使用:TURBO 和 THREADED 引擎。config() 创建 TURBO 和 THREADED 引擎使用的默认配置config(connectionTimeout, sendingInterval, retries, number_of_threads, hello_message, send_ping_messages, use_chunks)connectionTimeout - 连接超时(Integer)sendingInterval - WebSocket 帧之间的延迟,以毫秒为单位(Integer)retries - 连接关闭时的重连尝试次数(Integer)number_of_threads - THREADED 引擎使用的线程数(Integer)hello_message - 连接时发送的初始 WebSocket 消息(String)send_ping_messages - 引擎是否应发送 ping 消息(boolean)use_chunks - 引擎是否应发送分块请求(boolean)一旦 WebSocket 连接建立,就可以将消息排队发送。
使用此对象上的 queue() 方法。
queue(String message):发送消息queue(String message, String replacement):发送消息。replacement 将替换消息中所有 %s 实例queue(FrameType code, byte[] message):发送具有指定类型代码的载荷:queue(FrameType code, byte[] message, Integer legth):发送具有自定义长度和类型代码的载荷。queue(FrameType code, byte[] message, String legth):发送具有定义为 Long 字符串的自定义长度的载荷。queueWithComment(String message, String comment):发送带有附加注释的消息。queueWithComment(String message, String replacement, String comment):发送带有注释的消息,其中 replacement 替换消息中所有 %s 实例。message 表示屏幕顶部 WebSocket 消息编辑器的内容。它可以手动编辑,也可以在 Python 脚本中修改。
handle_outgoing_message(websocket_message)使用此方法有条件地将传出消息添加到结果表中。
handle_incoming_message(websocket_message)使用此方法有条件地将传入消息添加到结果表中。
websocket_message方法:
getMessage():以 String 形式检索消息。getDirection():检索消息方向(burp.api.montoya.websocket.Direction)。getLength():检索消息长度。getDateTime():检索时间戳(java.time.LocalDateTime)。getComment():检索与消息关联的注释。setComment(String comment):在消息上设置注释。getConnection():检索连接,允许将更多消息排队。getHash():检索消息哈希。具有相同哈希的传入和传出消息会被标记为请求-响应对。setHash(long id):为消息设置自定义哈希。getTime():检索响应时间,以毫秒为单位。isInteresting():根据以下内容判断消息属性是否与其他消息不同: