Proxy settings

The Proxy page in the Settings dialog contains settings for the following:

Proxy listeners

A proxy listener is a local HTTP proxy server that listens for incoming connections from the browser. It enables you to monitor and intercept all requests and responses.

By default, Burp creates a single listener on port 8080 of the loopback interface. The default listener enables you to use Burp's browser to test virtually all browser-based web applications.

Related pages

You may need to create or configure listeners when you test unusual applications, or work with non-browser-based HTTP clients. Use the Add and Edit buttons to open the Add a new proxy listener dialog. You can configure the proxy listener settings in the dialog tabs.

Proxy listener settings

The Proxy listeners settings are project settings. They apply to the current project only.

Binding

These settings control how Burp binds the proxy listener to a local network interface:

Note

If the listener is bound to all interfaces or to a specific non-loopback interface, other computers may be able to connect to the listener.

Request handling

These settings control whether Burp redirects the requests received by the listener:

The redirection options can be used individually. For example, you can redirect all requests to a particular host while preserving the request's port and protocol.

Certificate

These settings control the server TLS certificate that is presented to TLS clients. You can use these settings to resolve some TLS issues that arise when you use an intercepting proxy.

Note

In Burp's browser, you may notice that HTTPS is struck-through in the address bar as a TLS alert. This alert arises because the browser detects that it is not communicating directly with the authentic web server. This isn't an issue: it's a result of deliberately proxying your traffic through Burp. You can ignore it and continue to use the browser as usual.

The following options are available:

Related pages

TLS Protocols

These settings control the TLS protocols that Burp uses to perform TLS negotiation with the browser.

The following options are available:

HTTP

This setting controls whether the proxy listener allows clients to use HTTP/2. It is enabled by default.

You may want to disable this in certain cases, such as when a client has problems with its HTTP/2 implementation.

This setting does not change the connection between Burp and the server. To learn how to change the connection between Burp and the server, see HTTP settings.

Request and response interception rules

The Request interception rules and Response interception rules settings control which messages are stalled for you to view and edit in the Proxy > Intercept tab.

Adding an interception rule

To add an interception rule:

  1. Select Intercept requests / responses based on the following rules to configure rules that determine which messages are intercepted.
  2. Click Add to open the Add request interception rule dialog.
  3. Specify the details of the interception rule:

  4. Click OK to create the rule.

Burp applies the enabled rules to the message to determine whether it should be intercepted. Each rule is combined to the rules above in order, using the selected boolean operator.

Use the checkbox on the left of each rule to activate or deactivate it. You can also Edit and Remove rules, or reorder them using the Up and Down buttons.

Modifying intercepted messages

These settings enable you to avoid invalid requests and responses being issued when you modify an intercepted message.

Related pages

Intercepting messages.

The Request and response interception rules settings are project settings. They apply to the current project only.

WebSocket interception rules

These settings control which WebSocket messages Burp holds for viewing and editing in the Intercept tab:

The WebSocket interception rules settings are project settings. They apply to the current project only.

Response modification rules

These settings control whether Burp automatically rewrites the HTML in application responses.

You can use the following settings to remove client-side controls over data:

You can use the following settings to disable client-side logic for testing purposes:

Note

These features are not designed to be used as a security defense in the manner of, for example, NoScript.

You can use the following settings to deliver sslstrip-like attacks against a victim user whose traffic is unwittingly being proxied via Burp. Use these settings with the listener's Force use of TLS setting to effectively strip TLS from the user's connection:

The Response modification rules settings are project settings. They apply to the current project only.

HTTP and WebSocket match and replace rules

The HTTP match and replace rules and WebSocket match and replace rules settings automatically replace parts of messages as they pass through the Proxy.

Configure these rules here or under Proxy > Match and replace. For more information on adding or editing rules, see Match and replace.

The Match and replace rules settings are project settings. They apply to the current project only.

TLS pass through

TLS passthrough sends traffic through Burp Suite without decrypting it or altering it in any way. This has three major benefits:

If the application accesses multiple domains or uses both HTTP and HTTPS connections, you can pass through TLS connections to specific problematic hosts, and still work on other traffic as normal.

You can use TLS passthrough in two different ways:

Note

The Proxy intercept view and Proxy history do not display any details about requests or responses made via these connections.

Adding TLS passthrough targets

To add a new TLS passthrough target, copy the URL and then click Paste URL to add the relevant web server to the list. You can also configure the target manually:

  1. Click Add to display the Add TLS passthrough target dialog.
  2. Specify the target details:

  3. Click OK to add the target to the list.

You can Edit and Remove targets from the list. To upload a CSV or text list of targets, click Load and select the relevant file from the dialog.

Select Automatically add entries on client TLS negotiation failure to add the relevant server to the TLS pass through list when a client fails a TLS negotiation. A TLS negotiation may fail, for example, if Burp's CA certificate is not recognized.

Applying TLS passthrough to out-of-scope items

You can apply TLS passthrough for out-of-scope items automatically when you set the target scope:

  1. From Target > Site map or Proxy > HTTP history, select the hosts you want to add to the target scope.
  2. Right-click your selection and select Add to scope. The Proxy history logging window appears.
  3. Click Yes to apply TLS passthrough for out-of-scope items.

This enables the following settings in the Settings > Proxy menu:

  1. Miscellaneous > Don't send items to Proxy history or live tasks, if out of scope.
  2. TLS pass through > Apply to out-of-scope items - this can only be enabled when the setting above is enabled.

Related pages

The TLS pass through settings are project settings. They apply to the current project only.

Default Proxy history message display

This setting controls whether the Proxy history message editor displays auto-modified, manually edited, or original messages by default.

You can configure the behavior for three types of messages:

For each type of message, you can select one of the following default display options:

The Default Proxy history message display settings are user settings. They apply to all installations of Burp on your machine.

Proxy history logging

Use this setting to manage whether Burp Proxy sends out-of-scope items to the history or live tasks when new items are added to the target scope. This enables you to avoid accumulating project data for out-of-scope items.

There are three options available:

The Proxy history logging settings are user settings. They apply to all installations of Burp on your machine.

Default Proxy interception state

Use this setting to choose whether Burp Proxy interception is enabled by default when you start Burp.

There are three options available:

The Default Proxy interception state settings are user settings. They apply to all installations of Burp on your machine.

Miscellaneous

These settings control various aspects of Burp Proxy's behavior:

The Miscellaneous settings are project settings. They apply to the current project only.