Last updated: August 3, 2021
Read time: 10 Minutes
The site map aggregates all of the information that Burp has gathered about applications. You can filter and annotate this information to help manage it, and also use the site map to drive your testing workflow.
The site map displays information about the contents and security issues that have been discovered in target applications. It lets you view the full requests and responses for individual items, and the full details about discovered issues.
The left-hand-side tree view contains a hierarchical representation of content, with URLs broken down into domains, directories, files, and parameterized requests. You can expand interesting branches to see further detail. If you select one or more parts of the tree, the relevant details about all the selected items and items in child branches are shown in the right-hand-side view.
The icons in the tree view also provide a visual indication of the most significant security issue that has been identified within each branch or item.
The right-hand-side view contains details of both the contents and discovered issues for the items selected in the tree view. The contents and issues can be displayed within separate sub-tabs or in a left/right split.
Note: You can configure your preferred view via the View sub-menu on the context menu.
You can pop up a new site map window, based on the same underlying data, using the "Show new site map window" option on the context menu. You can use the new window to display and monitor a different selection of target items. You can also apply a different display filter.
The site map aggregates all of the content that Burp has observed in applications. This includes:
Items in the site map that have been requested are shown in black. Items that have not yet been requested are shown in gray. By default (with passive crawling enabled) when you begin browsing a typical application, a large amount of content will appear in gray before you even get as far as requesting it, because Burp has discovered links to it in the content that you have requested. You can remove uninteresting content (for example, on other domains that are linked to from your target application), by setting an appropriate target scope and using the site map display filter.
The contents table shows key details about each selected item (URL, HTTP status code, page title, etc.). You can sort the table according to any column (click the column header to cycle through ascending sort, descending sort, and unsorted). If you select an item in the table, the request and response (where available) for that item are shown in the request/response pane. This contains an HTTP message editor for the request and response, providing detailed analysis of each message.
The issues view of the site map shows the issues that Burp Scanner has identified for the selected items. If you select an issue, the relevant details are displayed, including:
Often, the fastest way to reproduce and verify an issue is to use the context menu on the message editor to send the request to Burp Repeater. Alternatively, for GET requests, you can copy the URL and paste it into your browser. Then you can reissue the request, and if necessary fine tune the proof-of-concept attack that was generated by Burp.
Every issue that Burp Scanner reports is given a rating both for severity (high, medium, low, informational) and for confidence (certain, firm, tentative). When an issue has been identified using a technique that is inherently less reliable (such as for blind SQL injection), Burp makes you aware of this, by dropping the confidence level to less than certain. These ratings should always be interpreted as indicative, and you should review them based on your knowledge of the application's functionality and business context.
The issues view has a context menu that you can use to perform the following actions:
The site map has a display filter that can be used to hide some of its content from view, to make it easier to analyze and work on the content you are interested in.
The filter bar above the site map describes the current display filter. Clicking the filter bar opens the filter options for editing. The filter can be configured based on the following attributes:
The content displayed within the site map is effectively a view into an underlying database, and the display filter controls what is included in that view. If you set a filter to hide some items, these are not deleted, only hidden, and will reappear if you unset the relevant filter. This means you can use the filter to help you systematically examine a complex site map to understand where different kinds of interesting content reside.
Note: If you often use different display filters, you can pop up additional site map windows (using the "Show new site map window" option on the context menu), and apply a different display filter to each window.
In the contents table view, you can annotate items by adding comments and highlights. This can be useful to describe the purpose of different URLs, and to flag up interesting items for further investigation.
You can add highlights in two ways:
You can add comments in two ways:
When you have annotated interesting requests, you can use column sorting and the display filter to quickly find these items later.
As well as displaying all of the information gathered about your target, the site map enables you to control and initiate specific attacks against the target, using the context menus that appear everywhere. The exact options that are available depend on the location where the context menu was invoked, and the type of item(s) selected. The complete list of context menu actions is as follows:
These options create new target scope rules which add or remove the selected item(s) from scope. The rule generated will apply to the selected item and all child branches in the tree. A common technique when testing an application that includes some sensitive URLs is to add the whole application path (domain or directory) to the target scope, and then select the sensitive items and exclude them from scope.
You can send any item to other Burp tools, to perform further attacks or analysis. The ability to send requests between tools forms the core of Burp's user-driven workflow. For example, you can select a host or folder within the tree view, and perform actions on the entire branch of the tree, such as scanning for content or vulnerabilities. Or you can select an individual item anywhere, and send the request to other Burp tools, such as Intruder or Repeater.
You can use this to render the selected response in your browser, to avoid the limitations of Burp's built-in HTML renderer. When you select this option, Burp gives you a unique URL that you can paste into your browser (configured to use the current instance of Burp as its proxy), to render the response. The resulting browser request is served by Burp with the exact response that you selected (the request is not forwarded to the original web server), and yet the response is processed by the browser in the context of the originally requested URL. Hence, relative links within the response will be handled properly by your browser. As a result, your browser may make additional requests (for images, CSS, etc.) in the course of rendering the response - these will be handled by Burp in the usual way.
You can use this to re-issue the selected request in your browser (configured to use the current instance of Burp as its proxy). The following sub-options are available:
This submenu contains various useful functions for carrying out engagement-related tasks:
You can use the Compare site maps function to identify differences between two site maps. This is a powerful feature that can be used for various purposes, in particular testing for access control vulnerabilities.
You can use this function to add a comment to the selected table item(s). See Annotations for more details.
You can use this function to apply a highlight to the selected table item(s). See Annotations for more details.
You can use these functions in the tree view to quickly expand whole branches of the tree, and collapse them after you have reviewed them.
This function removes the selected item(s) permanently. Since by default the site map displays all content that Burp has identified based on HTTP responses, the map will often include a large amount of third-party content that is linked to from the application you are interested in. You can deal with this either by configuring a suitable target scope and a display filter, or by manually removing irrelevant branches of the tree.
This function copies the URL(s) of the selected item(s) to the clipboard.
This function copies to the clipboard a curl command that can be used to generate the selected request.
This function parses the selected item(s) for links, and copies these to the clipboard.
This function lets you specify a file to save the details of selected item(s) in XML format, including full requests and responses, and all relevant metadata such as response length, HTTP status code and MIME type.