This Burpsuite plugin allows for multiple testers to share live/historical proxy requests, scope and repeater/intruder payloads with each other in real time allowing for truly collaborative web app testing. When connected to the Team Sever and in a Team Room all requests coming through your Burp client are shared with the other testers in the room and vice-versa!
-
Real time request/response pairs shared between all clients
-
AES Encryption of all traffic between client and server
-
Seperate Team Rooms to allow multiple teams on 1 server
-
Mute individual team members or whole room
-
Pause sending traffic to room
-
Sync scope between all clients in a room
-
Share Repeater/Intruder payloads with individual team members or whole room
-
Share specific request/response pairs with individual team members or whole room
-
More to come!
There are two parts that make this collaborative web app testing possible. 1st is obviously a Burpsuite Plugin that uses the APIs to capture request/response pairs and ferry them to the server and receive other clients traffic. It is the main UI that users see when using this tool. 2nd is a lightweight server written in GO which manages the connections between the clients and the rooms.
git clone https://github.com/Static-Flow/BurpSuiteTeamServer.git
cd BurpSuiteTeamServer/cmd/BurpSuiteTeamServer
go build
./BurpSuiteTeamServer
Output:
This is the server key that clients need to login: <Server key>
Starting chat room server
Awaiting Clients...
The jar file is prebuilt for you within the build/jar folder. To use the prebuilt jar:
- Start Burpsuite
- Navigate to the Extender tab
- Click add and select the jar file from the git repository
- New Burpsuite tab titled "Burp TC" should appear
These actions can be taken by a client that has connected to a server
- Navigate to the "Burp TC" tab
- Enter a chosen username, the server IP address, port and password
- Click the "Connect" button
- Click the "Disconnect" button
- Click the "New Room" button
- Enter a room name
- Click "Ok"
- The bottom right panel will show current server rooms or "No rooms currently" if none exist
- Right click on the desired room and click "Join"
These actions can be taken by a client that has connected to a server and joined a room
- Click the "Leave Room" button
- Click the "Pause" button
- Click the "Unpause" button
- The bottom right panel will show current room members
- Right click on the desired room and click "Mute"
- The bottom right panel will show current room members
- Right click on the desired room and click "Unmute"
- Click the "Mute All" button
(This can only be done by the client that starts the room)
- Use the Target tab to set the Burpsuite scope as desired
- Within the "Burp TC" tab click the "Set Room Scope" button
- Click the "Get Room Scope" button
These actions apply to Burpsuite tools outside of the "Burp TC" tab
- Within the Repeater tab right click within the Request editor and mouse over "Share Repeater Payload"
- Select "To Group"
- Within the Repeater tab right click within the Request editor and mouse over "Share Repeater Payload"
- Mouse over "To Teammate"
- Select the name of the desired team member
- Within the Intruder tap navigate to the "Positions" tab
- Within the "Positions" tab right click within the Request editor and mouse over "Share Intruder Payload"
- Select "To Group"
- Within the Intruder tap navigate to the "Positions" tab
- Within the "Positions" tab right click within the Request editor and mouse over "Share Intruder Payload"
- Mouse over "To Teammate"
- Select the name of the desired team member
- Within the Target tap navigate to the "Site map" tab
- Within the "Site map" tab right click on the entry you would like to share and mouse over "Share Request"
- Select "To Group"
- Within the Target tap navigate to the "Site map" tab
- Within the "Site map" tab right click on the entry you would like to share and mouse over "Share Request"
- Mouse over "To Teammate"
- Select the name of the desired team member