Burp's upstream proxy settings control whether Burp will send outgoing requests to an upstream proxy server, or directly to the destination web server.
You can define multiple rules, specifying different proxy settings for different destination hosts, or groups of hosts. Rules are applied in sequence, and the first rule that matches the destination web server will be used. If no rule is matched, Burp defaults to direct, non-proxied connections.
Upstream proxy settings allow you to use a proxy, acting in-between Burp Suite and your connection to the internet.
To demonstrate this process we will be using two instances of Burp.
Burp instance 1 will act as a normal instance of Burp, used to perform testing.
Burp instance 2 will be configured to act as a proxy server.
Ensure that you have the correct details for the proxy server.
In this example we will set up Burp instance 2 to act as a proxy. We need to ensure that this instance of Burp is running on a free port. In this case we have used port 8085.
We can configure this in the "Proxy Listener" section of the Proxy "Options" tab.
Ensure the proxy listener is running.
Next we need to configure Burp instance 1 to use the proxy (Burp instance 2) to connect to the internet.
We can configure this in the "Upstream Proxy Servers" section of the "Options" / "Connections" tab.
Click the "Add" button to open the "Add upstream proxy rule" dialog.
The "Add upstream proxy rule" dialog allows you to create an upstream proxy rule.
Enter appropriate details in to the form.
In this example we can use a wildcard for the destination host.
The "Proxy host" field should contain the host address of the proxy.
The "Proxy port" field should contain the port used by the proxy.
All traffic will now be routed through this proxy server.