As a Security Analyst I spend a significant amount of time working in tools like Burp Suite. On any given project I need to keep track of a large number of requests, responses, and various scan results. Conveniently, I can store all this in a single state file to keep for future referral. I also use a number of external scripts that have important output, but that ends up in a spread of text files that I have to keep track of. With that in mind, and the revamp of the Burp Extender API, I have decided to create an extension to make organization a bit easier.
The Burp Notes Extension adds a tab to the interface where I can create and manage text documents and spreadsheets. From the main tab a user can create new documents, load previously saved data, and save any currently open documents. I've also added the ability to import and export documents so that they can be easily reused for each project. One of the apparent limitations of the API is that it does not provide integration with Burp’s state functionality; all documents within the Notes tab are saved and loaded externally to the state file. I have taken care, however, to make sure that users are prompted to save before anything closes to make sure data isn’t lost. State integration is on the top of my list once that functionality becomes available.
I’ve also taken measures to integrate the tab with the rest of Burp. Any response or request can be sent directly to an existing text document or added to a new one. The Notes context menu will appear in various places, such as the proxy history and the site map table.
This extension is dependent upon the newest API released with 18.104.22.168 and unfortunately won't work with the current free release of Burp. While it doesn't access features only available in the Pro version, it does need access to the user interface exposed in the new framework in order to actually display text editors and spreadsheets. Once you have downloaded the JAR file, navigate to the Extender tab and choose "Add". Leave the extender type as Java and navigate to the file you downloaded. Once you select "Next" Burp will load the extension and you will be ready to go. Unless you specifically unload the extension, it should be there every time you start Burp for now on.
Working on this extension made for a fun introduction to Burp’s API. I have a number of things I’d like to keep adding, such as more selective copying from responses or the ability to create and manage template sets. I also hope that my work on this and future extensions will be useful to others.
The repository for this project can be found here on GitHub.