The Proxy page in the Settings dialog contains settings for the following:
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.
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.
The Proxy listeners settings are project settings. They apply to the current project only.
These settings control how Burp binds the proxy listener to a local network interface:
Bind to address - Specify an IP address of the local interface for Burp to bind to. You have the following options:
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.
These settings control whether Burp redirects the requests received by the listener:
Redirect to host - Specify a host. Burp forwards every request to the host, regardless of the target requested by the browser.
Host header to the one sent by the browser, you may need to configure a match and replace rule to rewrite the Host header in requests.
Force use of TLS - Enable this setting to use HTTPS in all outgoing connections, even if the incoming request uses HTTP.
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.
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.
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:
.p12 file extension; certificates in .psx format are not supported. Use this option if the application uses a client that requires a specific server certificate with, for example, a given serial number or certification chain.
These settings control the TLS protocols that Burp uses to perform TLS negotiation with the browser.
The following options are available:
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.
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.
To add an interception rule:
Specify the details of the interception 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.
These settings enable you to avoid invalid requests and responses being issued when you modify an intercepted message.
Content-Length header with the correct length of the message's HTTP body. This is normally essential when the HTTP body is modified.
Automatically fix missing or superfluous new lines at end of request - Enable this setting to automatically correct common mistakes that are made when requests are edited in the interception view:
The Request and response interception rules settings are project settings. They apply to the current project only.
These settings control whether Burp holds WebSocket messages for viewing and editing in the Intercept tab.
You can select to:
The WebSocket interception rules settings are project settings. They apply to the current project only.
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:
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.
These settings automatically replace parts of requests and responses as they pass through the Proxy.
There are various predefined rules which you can enable to assist with common tasks. These are disabled by default.
To only apply match and replace rules to items that are in the project scope, select Only apply to in-scope items. For more information on how to set a scope for your work, see Scope settings - Target scope.
Each match and replace rule specifies a literal string or regex pattern to match, and a string to replace it with. To add a new rule:
Specify the details of the match/replace rule:
Burp executes the enabled match and replace rules in turn for each message, and makes any applicable replacements.
You can also Edit and Remove rules, or reorder them using the Up and Down buttons.
You can use regex syntax to match multi-line regions of a message body. For example, if a response body contains only:
Now is the time for all good men to come to the aid of the partythen using the regex:
Now.*thewill match:
Now is the time for all good men to come to the aid of theIf you want to match only within a single line, you can modify the regex to:
Now[^\n]*thewhich will match:
Now is the
In a Match expression you can:
For example, to match a pair of opening and closing tags with no other tags between, you could use the regex:
<([^/]\w*)[^>]*>[^>]*?</\1[^>]*>You can reference groups in the replacement string by using a $ followed by the group index. For example, the following replacement string would include the name of the tag that matched the above regex:
Replaced: $1The Match and replace rules settings are project settings. They apply to the current project only.
You can use these settings to specify the destination web servers that Burp passes directly through TLS connections.
Use these settings when it is difficult to eliminate TLS errors on the client. For example, in mobile applications that perform TLS certificate pinning. 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.
The Proxy intercept view and Proxy history do not display any details about requests or responses made via these connections.
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:
Specify the target details:
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.
The TLS pass through settings are project settings. They apply to the current project only.
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.
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.
These settings control various aspects of Burp Proxy's behavior:
Connection header with the value close. This can enable you to prevent HTTP pipelining in some situations.
Connection header with the value close. This can enable you to prevent HTTP pipelining in some situations.
Proxy-* headers from incoming requests. This prevents leakage of any information, as browsers sometimes send request headers containing information intended for the proxy server. A malicious web site may attempt to induce a browser to include sensitive data within these headers.
Accept-Encoding header from requests.
The Miscellaneous settings are project settings. They apply to the current project only.