Part II: Setting Up Extension Development Tools
Parts of Series
- Introduction to Burp Extender
- Setting Up Extension Development Tools
- Extension Project Structure and Fundamentals
- Diving deeper into Extender API Interfaces
- Exploration - Intruder Payload Processing
We will need a proper development environment to enable ourselves to efficiently program extensions. We need the following things ready before jumping into the actual development:
- NetBeans IDE 8.2 (Java EE)
- Oracle Java 8 JDK (or OpenJDK equivalent)
- Burp Suite Community Edition
NetBeans 8.2 IDE
NetBeans is a open-source IDE which is massively popular in the Java community. We'll use NetBeans 8.2 for rest of the tutorials. You are free to choose other IDEs as well and figure out the settings.
Installation of NetBeans on all platforms are straight-forward and doesn't warrant a special section. Once installed the Auto Popup on Typing Any Java Identifier Part feature needs to be enabled. It is present under Options > Editor > Code Completion > Language > Java
menu; as shown:
This feature helps a lot in auto-completion which is helpful while developing extensions.
Please note that I'm aware of Apache NetBeans 9.0 but for Java 8 we'll stick with the proven Oracle NetBeans.
Installation of Java JDK
Installation of JDK differs on every platform; but here are ways to install on each:
Windows: Installer
Linux (Ubuntu):
sudo apt install openjdk-8-jdk
macOS (via Homebrew):
brew update
brew tap caskroom/versions
brew cask install java8
After the installation, the setup can be verified by running the following in terminal:
Prakhars-MBP% java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
Burp Suite & Extender APIs
Once Burp Suite Community (or Pro) Edition is installed; we have to fire-up and reach out to the Extender tab, then from there APIs tab, and finally Save interface files to a folder.
This will extract and save all the Java interface files to a folder called burp
inside the chosen folder; which we will use with NetBeans to enable code-completion and compilation in the next part.