Extension to fuzz WebSocket messages using custom Python code
- Right-click on a WebSockets message and go to
Extensions > WebSocket Turbo Intruder > Send to WebSocket Turbo Intruder- Highlighting a portion of the WebSockets message and then sending to WSTI will result in the highlighted content being replaced by
%s
- Highlighting a portion of the WebSockets message and then sending to WSTI will result in the highlighted content being replaced by
- Select a template from the drop-down list
- Adjust Python code to suit your use case
- Start attack
Note: This will use a new WebSocket connection to send messages down.
websocket_connection: This object has one available method - create(). Use this to create a WebSocket connection.
The create method takes base_websocket as an argument.
Once you've created your WebSocket connection, you can queue messages to send down this connection.
Use the queue() method on this object.
queue(String message): Send the messagequeue(String message, String replacement): Send message.replacementwill replace all instances of%sin your messagequeueWithComment(String message, String comment): Send message with provided commentqueueWithComment(String message, String replacement, String comment): Send message with provided comment.replacementwill replace all instances of%sin your message
message is the contents of the WebSocket message editor in the top half of your screen. You can manually change this, or you can manipulate the String contents in your Python code.
Use this method to conditionally add outgoing messages to the results table.
Use this method to conditionally add incoming messages to the results table.
Methods:
getMessage(): Retrieve the String message that was sent/receivedgetDirection(): Retrieves aburp.api.montoya.websocket.DirectiongetLength(): Retrieves the length of the messagegetDateTime(): Retrieves thejava.time.LocalDateTimethat was set on the objectgetComment(): Retrieves the comment that was set on the messagesetComment(String comment): Allows you to set a comment on the objectgetConnection(): Retrieves the Connection so that you canqueue()additional messages