Adding custom columns in the HTTP history

You can use Java-based Bambdas to add powerful custom columns to the HTTP history table. Custom columns enable you to see more detail about the items in your HTTP history for a more focused analysis.

You can apply custom column Bambdas in two ways:

Related pages

Keyboard shortcuts

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

Loading Bambdas from your library

You can load and apply Bambdas that are stored in your library to add custom columns to the HTTP history table.

To load a Bambda from your library:

  1. In Proxy > HTTP history, click the options menu > Add custom column. The Add custom column window opens.

  2. Click Load.

  3. Select a recent Bambda from the list.

  4. If the Bambda you want to load isn't in the list, click View all to view all Bambdas stored in your library.

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

    1. Make your changes.

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

    3. Save your changes:

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

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

  6. Enter a name for your column in the Column header field.

  7. Click Apply & close.

Creating custom Bambdas

You can write your own Bambdas directly in the Add custom column 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 Bambda that meets your needs or provides inspiration for creating your own.

You can also explore built-in templates in the Bambda library. For more information, see Creating Bambdas in the Bambda library.

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

To create a custom column for your HTTP history table:

  1. In Proxy > HTTP history, click the options menu > Add custom column. The Add custom column window opens.

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

  3. Enter a name for your column in the Column header field.

  4. Write a Bambda using Java to specify the data that the custom column displays.

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

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

  7. Click Apply & close.

Warning

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

Example Bambda

In the example below, we'll write a Bambda to create a custom column containing the Server header value of the response.

if (!requestResponse.hasResponse()) { return ""; } var response = requestResponse.response(); return response.hasHeader("Server") ? response.headerValue("Server") : "";

Related pages