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.replacement
will replace all instances of%s
in your messagequeueWithComment(String message, String comment)
: Send message with provided commentqueueWithComment(String message, String replacement, String comment)
: Send message with provided comment.replacement
will replace all instances of%s
in 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.Direction
getLength()
: Retrieves the length of the messagegetDateTime()
: Retrieves thejava.time.LocalDateTime
that 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