Burp Suite User Forum

Create new post

Create a new Object for burp.IHttpRequestResponse

Laxman | Last updated: May 14, 2020 11:33PM UTC

Hi Team, One of my requirement is to add sitemap with a given byte[] request and byte[] response. I have tried calling the below method. IBurpExtenderCallbacks.getCallbacks().addToSiteMap(httpRequestResponse); I have to pass a new object of httpRequestResponse to above method. I have tried creating bean as HttpRequestResponse implements IHttpRequestResponse, and implemented all methods, and trying to pass the object to addToSiteMap() method. But, I am seeing below error. loader constraint violation: when resolving interface method "burp.IBurpExtenderCallbacks.addToSiteMap(Lburp/IHttpRequestResponse;)V" the class loader .... Can you please suggest on how to create a new object of IHttpRequestResponse and pass it to addToSiteMap() method. (OR) an approach to addToSiteMap using byte[] request and response.

Hannah, PortSwigger Agent | Last updated: May 15, 2020 07:06AM UTC

You could use IBurpExtenderCallbacks.makeHttpRequest(), which returns an IHttpRequestResponse object. However, that will also issue an HTTP request.

Laxman | Last updated: May 19, 2020 12:08AM UTC

IBurpExtenderCallbacks.makeHttpRequest() also require IHttpService object, I am seeing "loader constraint violation: when resolving interface method " method if I create a class and pass it to. How can I create a class which implements IHttpRequestResponse and IHttpService? (OR) have a reference of existing objects, so I can use the setter method on existing reference and use it for further processiong.

Hannah, PortSwigger Agent | Last updated: May 20, 2020 03:03PM UTC

You could have a look and see how other extension writers have implemented this. All extensions available on the BApp Store have their code publicly available on GitHub. You can find them here: https://github.com/portswigger

almog | Last updated: Feb 03, 2022 11:56AM UTC

It is possible to implement HttpRequestResponse. Then, building the object by setting the byte[] request , byte[] response and IHttpService httpService. Setting the httpService could be done by calling this function defined on IExtensionHelpers: IHttpService buildHttpService(String host, int port, boolean useHttps)

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