Last updated: July 20, 2021
Read time: 4 Minutes
Burp Repeater is a simple tool for manually manipulating and reissuing individual HTTP and WebSocket messages, and analyzing the application's responses. You can use Repeater for all kinds of purposes, such as changing parameter values to test for input-based vulnerabilities, issuing requests in a specific sequence to test for logic flaws, and reissuing requests from Burp Scanner issues to manually verify reported issues.
The main Repeater UI lets you work on multiple different messages simultaneously, each in its own tab. When you send messages to Repeater, each one is opened in its own numbered tab. You can rename tabs by double-clicking the tab header.
To use Burp Repeater with HTTP messages, you can select an HTTP message anywhere in Burp, and choose "Send to Repeater" from the context menu. This will create a new request tab in Repeater, and automatically populate the target details and request message editor with the relevant details. Alternatively, you can open a new Repeater tab manually and select the "HTTP" option.
For HTTP messages, each Repeater tab contains the following items:
When your request is ready to send, click the "Send" button to send it to the server. The response is displayed when this is received, together with the response length and a timer (in milliseconds). You can use the usual HTTP message editor functions to help analyze the request and response messages, and carry out further actions.
Each Repeater tab maintains its own history of the requests that have been made within it. You can click the "<" and ">" buttons to navigate backwards and forwards through this history and view each request and response. You can also use the drop-down buttons to show a numbered list of adjacent items in the history, and quickly move to them. At any point in the history, you can edit and reissue the currently displayed request.
To use Burp Repeater with WebSocket messages, you can select a WebSocket message in the Proxy history, and choose "Send to Repeater" from the context menu. Alternatively, you can open a new Repeater tab and select the "WebSockets" option.
For WebSocket messages, each Repeater tab contains the following items:
You can edit the message that will be sent, and select whether it should be sent to the server or client. Note that the option to send a message to the client is only available in connections that are still open via Burp Proxy.
When your message is ready to send, click the "Send" button to send the message.
Optionally, the history table will automatically select the next message that is received after you sent the message.
The history table shows all of the messages that have been sent and received. Messages that were generated manually within Burp Repeater are indicated in the "Repeater" column. You can select a message to view it in the lower pane.
If you want to resend a message from the history, you can choose the "Edit and resend" option on the context menu. This will show the selected message in the left-hand message editor, allowing you to modify the message as required, and then send it.
Burp Repeater has various options that control its behavior, including automatic updating of the Content-Length header, unpacking of compressed content, and the following of redirections. You can access these options via the Repeater menu.
You can easily manage Repeater's request tabs. You can: