Burp Suite User Forum

Create new post

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

Hi. Unfortunately, this would be extremely difficult to achieve, if not impossible, in the current API. This is because you don't have a reference to the following requests after the redirect. I've added your +1 to an ongoing feature request to be able to view requests and responses in a side-by-side view in the Intruder attack results panel. If there's anything else we can help with, then please let us know.

You must be an existing, logged-in customer to reply to a thread. Please email us for additional support.