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

How addToSiteMap decides if there is any existing matching item in the site map?

Marimuthu | Last updated: Aug 21, 2019 04:02AM UTC

I'm working on a burp extension to create a site map from burp logs saved in an XML file. The burp log may contain redundant logs in it. Hence, when adding IHttpRequestResponse to site map using "IBurpExtenderCallbacks.addToSiteMap" the redundant logs are removed. I want to have a list of all the redundant logs which are not included in the site map. Since "addToSiteMap" method does not return anything. There is no way I could figure out whether given IHttpRequestResponse is successfully or rejected. I tried to compare the content (byte[] returned by IHttpRequestResponse.getRequest and IHttpRequestResponse.getResponse) of IHttpRequestResponse's returned from "getSiteMap" method passing the URL prefix of the request I'm adding with the IHttpRequestResponse I'm adding using Arrays.equals. But the number of matching requests is far less than the requests not added to site map. I even tried to compare the request I'm adding with an entire site map, just to be sure I not missing anything but of no use. For example. After adding 2000 IHttpRequestResponse using addToSiteMap, sitemap contains only 1200 requests and matching requests list contains only 60 logs in it. I'm sure addToSiteMap is not just comparing the byte[] of requests and responses it is doing some kind of deep comparison of object. Is there any way I can extract the requests that are not added to sitemap when calling addToSiteMap?

Burp User | Last updated: Aug 21, 2019 07:17AM UTC

Looks like IHttpRequestResponse comparison is done based on byte[] returned by IHttpRequestResponse.getRequest only.

Mike, PortSwigger Agent | Last updated: Aug 21, 2019 12:32PM UTC