The Burp Suite User Forum was discontinued on the 1st November 2024.

Burp Suite User Forum

For support requests, go to the Support Center. To discuss with other Burp users, head to our Discord page.

SUPPORT CENTER DISCORD

Want to View Requests and Responses Simultaneously in Intruder

Azz | Last updated: Dec 11, 2023 02:41PM UTC

I've managed to view both requests and responses simultaneously using the following code, but it becomes cumbersome when redirects occur, as it doesn't display the initial request and response. Is it possible to develop an extension that allows viewing the original request being processed and the final response after redirects, even when redirects are involved? # -*- coding: utf-8 -*- from burp import IBurpExtender from burp import IMessageEditorTabFactory from burp import IMessageEditorTab from javax.swing import JSplitPane class BurpExtender(IBurpExtender, IMessageEditorTabFactory): def __init__(self): self.requests = {} self.responses = {} def registerExtenderCallbacks(self, callbacks): self._callbacks = callbacks self._helpers = callbacks.getHelpers() callbacks.setExtensionName("Side View Tab") callbacks.registerMessageEditorTabFactory(self) def createNewInstance(self, controller, editable): return SideViewTab(self, controller, editable) class SideViewTab(IMessageEditorTab): def __init__(self, extender, controller, editable): self._extender = extender self._editable = editable self._controller = controller self._requestViewer = extender._callbacks.createMessageEditor(controller, True) self._responseViewer = extender._callbacks.createMessageEditor(controller, False) self._splitPane = JSplitPane(JSplitPane.HORIZONTAL_SPLIT, self._requestViewer.getComponent(), self._responseViewer.getComponent()) self._splitPane.setResizeWeight(0.5) def getUiComponent(self): return self._splitPane def getTabCaption(self): return "Side View" def isEnabled(self, content, isRequest): return True def setMessage(self, content, isRequest): request = self._controller.getRequest() response = self._controller.getResponse() if request is not None and response is not None: self._requestViewer.setMessage(request, True) self._responseViewer.setMessage(response, True) def getMessage(self): return self._requestViewer.getMessage() # Or self._responseViewer.getMessage() def isModified(self): return self._requestViewer.isMessageModified() # Or self._responseViewer.isMessageModified() def getSelectedData(self): return self._requestViewer.getSelectedData() # Or self._responseViewer.getSelectedData()

Hannah, PortSwigger Agent | Last updated: Dec 12, 2023 11:37AM UTC