Using Burp Scanner to Find Cross-Site Scripting (XSS) Issues

XSS vulnerabilities occur when an application includes attacker-controllable data in a response sent to the browser without properly validating or escaping the content. Cross-site scripting attacks may occur anywhere that an application includes in responses data that originated from any untrusted source.

In this example we will demonstrate how to use Burp Scanner to test for XSS vulnerabilities. The example uses a version of “Mutillidae” taken from OWASP’s Broken Web Application Project. Find out how to download, install and use this project.

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

With Burp Proxy "Intercept" turned off, visit the web application you are testing in your browser.

 

Visit the page of the website you wish to test for XSS vulnerabilities.

 

 

Return to Burp.

In the Proxy "Intercept" tab, ensure "Intercept is on".

Enter some appropriate input in to the web application and submit the request.

The request will be captured by Burp. You can view the HTTP request in the Proxy "Intercept" tab.

Right click on the request to bring up the context menu and click "Do an active scan" to send the request to Burp Scanner.

You can also locate the relevant request in various Burp tabs without having to use the intercept function, e.g. requests are logged and detailed in the "HTTP history" tab beneath the "Proxy" tab.

Once the scan is complete go to the Target "Site map" tab.

In this example the Scanner found a number of reflected XSS issues.

You can click on the arrow next to the issue to expand the section and view each individual issue.

After clicking on an individual issue the Scanner UI provides an advisory section regarding the specific issue.

You can also view the request and response from the simulated attack.

Furthermore, you can send the request to Burp Repeater for manual examination of the issue.