Penetration testing workflow

You can use Burp's automated and manual tools to obtain detailed information about your target applications. The diagram below is an overview of the key stages of Burp's penetration testing workflow:

Burp Suite testing workflow

Note

Some of the tools used in this testing workflow are only available in Burp Suite Professional.

Stage 1: Map the target application

You can use a combination of manual and automated tools to map the application.

Manually browse the application in Burp's browser. Your traffic is proxied through Burp automatically. As you browse, the Proxy history and Target site map are populated. By default, a live task also discovers content that can be deduced from responses, for example from links and forms.

To manually discover additional content, you can identify any unrequested items on the site map, then review these in Burp's browser.

Note

To control the content that is added to the site map and Proxy history, set the target scope to focus on the items you are interested in. You can then configure Burp to log only in-scope items.

You can also automate the mapping process and discover additional content:

Note

Many applications contain features that hinder testing, such as reactive session termination and use of pre-request tokens. You can use session handling rules and macros to handle these situations.

Related tutorials

Stage 2: Analyze the attack surface

Use the Proxy history and Target site map to analyze the information that Burp captures about the application. While you use these tools you can quickly view and edit interesting message features in the Inspector.

You can send HTTP messages that you want to investigate further to Burp Organizer. This tool enables you to store and annotate HTTP messages to organize your workflow. For more information, see the Burp Organizer documentation.

You can also use other Burp tools to help you analyze the attack surface and decide where to focus your attention:

Related tutorials

Stage 3: Test for vulnerabilities

You can use a combination of Burp tools to detect and exploit vulnerabilities.

You may already have identified a range of issues through the mapping process. By default, Burp Scanner scans all requests and responses that pass through the proxy. Burp lists any issues that it identifies under Issue activity on the Dashboard.

You can also use Burp Scanner to actively audit for vulnerabilities. Scanner sends additional requests and analyzes the application's traffic and behavior to identify issues.

To investigate the identified issues, you can use multiple Burp tools at once. To send a request between tools, right-click the request and select the tool from the context menu. Some example strategies are outlined below for different types of vulnerabilities:

Input-based vulnerabilities

The following are examples of input-based vulnerabilities:

You can use Burp in various ways to exploit these vulnerabilities:

Related tutorials

Logic and design flaws

The following are examples of logic and design flaws:

You generally need to work manually to exploit these types of flaws:

Access control vulnerabilities

To test for access control and privilege escalation vulnerabilities, you can:

Related tutorials

Other vulnerabilities

Burp contains tools that can be used to perform virtually any task when probing for other types of vulnerabilities, for example:

Related content

View our Using Burp Suite Professional / Community Edition playlist on YouTube.