Burp community forum

Burp UI Development Using NetBeans

Tim | Last updated: Dec 22, 2015 02:28AM UTC

Hey All, I am new to Burp Extender development (and Java programming in general). I have had some moderate success getting a handle on how to build Burp extensions, and using NetBeans to build GUIs. I am able to easily make a GUI to do what I want inside NetBeans, building my Java code from scratch. I am also able to work efficiently with Burp's APIs, as long as I don't mind using the "Output" window inside the Extender tab. What I am having trouble with right now is connecting the two. It seems like when I try to build an extension using GUI elements built inside NetBeans, I run into many pitfalls with telling NetBeans where the Burp API is, and how to use it, so that it does not throw errors during build time. Conversely, grafting form objects generated within NetBeans into a pre-existing Burp extension is incredibly painful, for many of the same reasons (unresolved dependencies, path errors, etc). I was wondering if you all would share your best practices for UI development in Burp. Ideally, I would like to have all the API code available to me in the normal NetBeans interface, and integrate my changes to Burp's Extender interface without manually shuffling components around. Testing the extension out should be as easy as clicking "Run Project", and having the Extension loaded for me inside a Burp instance. I apologize if this seems like a "noob" question. Setting up the IDE has always been a major pain point for me. Thanks in advance! -Tim

PortSwigger Agent | Last updated: Dec 22, 2015 11:05AM UTC

We would suggest: 1. Load the Burp Extender interface files into your Netbeans project so that you can use the APIs within your project code. 2. Configure the Netbeans build to package a suitable JAR file containing your extension, ready to be loaded into Burp at Extender / Extensions. 3. Each time you modify your extension code and want to test it, make Netbeans rebuild your JAR file, and in Burp do a ctrl+click on the "Loaded" checkbox for your extension. This will unload your previous extension and reload it from the newly compiled JAR file. This should let you easily code your extension within a single project and quickly load modified versions into Burp without needing to restart Burp.

PortSwigger Agent | Last updated: Feb 19, 2016 09:20AM UTC

Thanks for letting us know about that Luca, it could be useful.

Burp User | Last updated: Oct 10, 2017 11:11PM UTC

You can also use this Netbeans template - https://github.com/doyensec/burpdeveltraining/tree/master/BurpExtensionTemplate/NetBeans

You need to Log in to post a reply. Or register here, for free.