You can apply Java-based Bambdas to create custom capture filters for Logger. You can do this in two ways:
Load existing Bambdas - Load Bambdas from your Bambda library.
Create new Bambdas - Write Bambdas directly in the Bambda mode tab.
Items that are not captured will be discarded from Logger. Burp can't retrieve these items even if the capture filter is removed.
To speed up your workflow when creating or loading Bambdas, you can use the following keyboard shortcuts:
Save - Ctrl + S or Cmd + S
Save as - Ctrl + Shift + S or Cmd + Shift + S
Create new Bambda - Ctrl + N or Cmd + N
Load recent Bambda - Ctrl + O or Cmd + O
You can load and apply Bambdas that are stored in your library to filter which types of items Logger captures.
To load a Bambda from your library:
In the Logger tab, click the filter bar to open the Logger capture filter window.
In the Logger capture filter window, click Bambda mode.
Click Load.
Select a recent Bambda from the list.
If the Bambda you want to load isn't in the list, click View all to view all Bambdas stored in your library.
[Optional] If required, edit the Bambda:
Make your changes.
Click Apply to compile and test the Bambda. Fix any errors shown in the Compilation errors panel. For more information, see Troubleshooting Bambdas.
Save your changes:
To overwrite the existing Bambda, click Save to library > Save.
To save a new version, click Save to library > Save as.
Click Apply & close.
Burp compiles your Bambda and applies it to any future traffic generated in this project.
You can write your own Bambdas directly in the Bambda mode tab, using built-in templates or from a blank definition.
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 convert filter settings to a Bambda as a starting point for further customization:
In the Logger tab, click the filter bar to open the Logger capture filter window.
Make changes to the filter settings as necessary.
At the bottom of the Logger capture filter window, click Convert to Bambda.
Your filter is converted into a Bambda, enabling you to customize it further using Java.
Two objects of the Montoya API are available to help you write your Bambda:
LoggerCaptureHttpRequestResponse
Utilities
To create a Bambda to filter which types of items Logger captures:
In the Logger tab, click the filter bar to open the Logger capture filter window.
In the Logger capture filter window, click Bambda mode.
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.
Write your Bambda using Java.
Click Apply to compile and test the Bambda. Fix any errors shown in the Compilation errors panel. For more information, see Troubleshooting Bambdas.
[Optional] Click Save to library > Save. The Bambda is saved to your Bambda library for future use across Burp.
Click Apply & close.
Burp compiles your Bambda and applies it to any future traffic generated in this project.
Capture filter Bambdas may slow down Burp's performance as they run against all outgoing HTTP messages. Using slow running or resource-intensive Bambdas can slow down Burp even further. Write your Bambda carefully to minimize performance implications.
In the example below, we'll create a Bambda that filters Logger to capture only items that meet the following criteria:
The item must not have a MIME type of WOFF or WOFF2.
In this example, our Bambda is:
var mimeType = requestResponse.mimeType();
return mimeType != MimeType.FONT_WOFF && mimeType != MimeType.FONT_WOFF2;