Crawl settings

Burp Scanner offers numerous settings that control how scans behave during the crawl phase. You can select these settings when you create or edit scan configurations in Burp Suite Professional or Burp Suite DAST.

Related pages

Crawl behavior

Use these settings to configure how Burp crawls your site to reflect the objectives of the scan and the nature of the target application.

Maximum crawl depth

Specify the maximum number of navigational transitions (clicking links and submitting forms) that the crawler can make from the start URL(s).

Modern applications tend to build navigation into every response, for example in menus and page footers. As such, it is normally possible to reach the vast majority of an application's content and functionality within a small number of hops from the start URL. Fully covering multi-stage processes (such as viewing an item, adding it to a shopping cart, and checking out) requires more hops.

Some applications contain extremely long navigational sequences that don't lead to interesting functionality. For example, a shopping application might have a huge number of product categories, sub-categories, and view filters. To a crawler, this can appear as a very deep nested tree of links, all returning different content. However, there are clearly diminishing returns to crawling deeply into a navigational structure such as this. It's sensible to limit the maximum crawl depth to a smaller number.

Crawl strategy

Real-world applications differ hugely in the way they organize content and navigation, the volatility of their responses, and the extent and complexity of the application state involved.

At one extreme, a largely stateless application may:

On the other hand, a heavily-stateful application might use:

The crawler can handle all of these cases. However, this imposes an overhead in the quantity of work involved in the crawl. The crawl strategy setting enables you to tune the approach taken to specific applications.

The default crawl strategy represents a trade-off between speed and coverage that is appropriate for typical applications. However, when you crawl an application with more stable URLs and no stateful functionality, you may want to select the Faster or Fastest setting. When you crawl an application with more volatile URLs or more complex stateful functionality, you may want to select the More complete or Most complete setting.

Related pages

The Fastest crawl strategy differs from the other crawl strategies in some important ways:

Crawl limits

Crawling modern applications is sometimes an open-ended exercise due to stateful functionality, volatile content, and unbounded navigation. It's sensible to configure a limit to the extent of the crawl, based on your knowledge of the application being scanned. Burp Scanner uses various techniques to maximize discovery of unique content early in the crawl, to help minimize the impact of limiting the crawl length.

You can limit the crawl based on:

Crawl network timeouts

These settings enable you to specify timeout values for the crawl. These values override any you may have configured in the global settings.

Handling repeated timeouts during crawl

These settings control how Burp Scanner responds to repeated request timeouts during the crawl phase of the scan, such as connection failures or transmission timeouts.

You can configure the following options:

You can leave any setting blank to deselect it.

Related pages

Handling application errors.

Login behavior

Use these settings to configure how Burp handles authentication when crawling your site.

Authenticated crawl only

Choose whether Burp skips the unauthenticated crawl and uses only the provided credentials. Burp doesn't attempt to self-register users or trigger login failures. This can reduce the overall crawl time.

If you don't set login credentials, Burp runs an unauthenticated crawl instead.

If you set credentials but don't enable this setting, Burp crawls the site both logged out and logged in. In some cases, this means the authenticated crawl may not find much extra content.

Testing login functions

These settings control how the crawler interacts with login functionality during the unauthenticated phase of the crawl.

Note

These settings are not compatible with recorded login sequences. When using recorded logins for a scan, the Testing login functions settings are ignored.

You can select whether the crawler should:

Related pages

API crawling

These settings enable you to configure how Burp detects and explores APIs when crawling your site:

Browser behavior

These settings enable you to control the behavior of Burp's browser:

Note

If you watch the crawl in a headed browser, you may see the crawler open multiple windows and stop using existing ones. This is expected behavior and is not indicative of any issues with the scan. Any redundant windows close automatically after a certain period of time.

Discovery logic

These settings enable you to customize how Burp discovers and interacts with different types of content during the crawl: