Filtering the HTTP history with scripts

You can apply Java-based scripts to create powerful custom filters for your HTTP history. You can do this in two ways:

Keyboard shortcuts

To speed up your workflow when creating or loading scripts, you can use the following keyboard shortcuts:

Loading scripts from your library

You can load and apply scripts that are stored in your library to filter the HTTP history.

To load a script from your Bambda library:

  1. In Proxy > HTTP history, click the filter bar to open the HTTP history filter window.

  2. In the HTTP history filter window, click Script mode.

  3. Click Load.

  4. Select a recent script from the list.

  5. If the script you want to load isn't in the list, click View all to view all scripts stored in your library.

    1. Select a script.
    2. Click Load.
  6. [Optional] If required, edit the script:

    1. Make your changes.

    2. Click Apply to compile and test the script. Fix any errors shown in the Compilation errors panel. For more information, see Troubleshooting scripts.

    3. Save your changes:

      • To overwrite the existing script, click Save to library > Save.

      • To save a new version, click Save to library > Save as.

  7. Click Apply & close.

Burp compiles your script and applies it to every item already logged in your HTTP history, as well as any future HTTP traffic generated in this project.

Creating custom scripts

You can write your own scripts directly in the HTTP history filter window, using built-in templates or from a blank definition.

Note

Before you begin writing, we recommend exploring our Bambdas GitHub repository. There may be an existing script that meets your needs or provides inspiration for creating your own.

Converting filter settings to scripts

You can convert filter settings to a script as a starting point for further customization:

  1. In Proxy > HTTP history, click the filter bar to open the HTTP history filter window.

  2. Make changes to the filter settings as necessary.

  3. At the bottom of the HTTP history filter window, click Convert to script.

Your filter is converted into a script, enabling you to customize it further using Java.

Creating your script

Two objects of the Montoya API are available to help you write your script:

To create a script to filter your HTTP history:

  1. In Proxy > HTTP history, click the filter bar to open the HTTP history filter window.

  2. In the HTTP history filter window, click Script mode.

  3. If you want to create your script from a built-in template, select New > From template. Select a template from the list, then click Create using this template.

  4. Write your script using Java.

  5. Click Apply to compile and test the script. Fix any errors shown in the Compilation errors panel. For more information, see Troubleshooting scripts.

  6. [Optional] Click Save to library > Save. The script is saved to your Bambda library for future use across Burp.

  7. Click Apply & close.

Burp compiles your script and applies it to every item already logged in your HTTP history, as well as any future HTTP traffic generated in this project.

Warning

Using slow running or resource-intensive scripts can slow down Burp. Write your script carefully to minimize performance impact.

Example script

In the example below, we'll create a script that filters the HTTP history to show only items that meet the following criteria:

In this example, our script is:

if (!requestResponse.hasResponse()) { return false; } var response = requestResponse.response(); return response.isStatusCodeClass(StatusCodeClass.CLASS_3XX_REDIRECTION) && response.hasCookie("session");

Related pages