Using Burp's "Request in Browser" Function to Test for Access Control Issues

Comparing the application's contents when accessed in different user contexts sometimes requires each page to be tested individually, to confirm whether access controls are being applied. One way to perform this testing manually is to walk through a process several times in your browser and use your proxy to switch the session token supplied in different requests to that of a less-privileged user.

However, you can often dramatically speed up this process by using the "Request in browser" feature of Burp Suite. This tutorial demonstrates the use of this function on a version of a WordPress web application. The version of WordPress we are using is taken from OWASP’s Broken Web Application Project. Find out how to download, install and use this project.

OWASP_AccessControls_1

First, ensure that Burp is correctly configured with your browser.

With intercept turned off in the Proxy "Intercept" tab, visit the login page of the application you are testing in your browser.

 
Methodology_Access_Controls_Request_in_Browser_1

Login using the higher privileged account, in this example using the credentials admin : admin.

Walk through the process or area of the application you are testing.

The request/response will be captured in Burp's Site map and Proxy history.

 

 
Methodology_Access_Controls_Request_in_Browser_2

Log out of the application and log in using the lower-privileged account (or none at all).

 

 
Methodology_Access_Controls_Request_in_Browser_3

Locate the area you are testing in Burp's Site map or HTTP history.

Right click on the entry to bring up the context menu.

Click "Request in browser", then "In current session".

 
Methodology_Access_Controls_Request_in_Browser_4

The "Request in browser" pop up window allows you to copy the URL of the required page.

Click the "Copy" button.

 
Methodology_Access_Controls_Request_in_Browser_5

Post the URL in to your browser to attempt to access the individual page your are testing.

 
Methodology_Access_Controls_Request_in_Browser_6

In this example we are denied access to the page. It would appear that appropriate access controls are in place for this class of user.