This quick blog post will document getting started with developing Burp extensions using java. Burp provides interfaces for developers to hook into the Burp application and extend the application or integrate with other tools, this interface is documented on the following site - http://portswigger.net/burp/extender/
For this guide you will need the following items:
- Eclipse IDE for Java Developers - http://www.eclipse.org/downloads/moreinfo/java.php
- BurpSuite Free - http://portswigger.net/burp/download.html
- Burp Extender classes - http://portswigger.net/burp/extender/
- http://portswigger.net/burp/extender/IBurpExtender.java
- http://portswigger.net/burp/extender/IBurpExtenderCallbacks.java
- http://portswigger.net/burp/extender/IHttpRequestResponse.java
- http://portswigger.net/burp/extender/IScanIssue.java
- http://portswigger.net/burp/extender/IScanQueueItem.java
- http://portswigger.net/burp/extender/IMenuItemHandler.java
After downloading and opening up Eclipse you will need to create a new java project. This can be done by clicking "File->New Java Project". Fill in a project name and click finish.
Once the project has been created you will need to create a new package called "burp". This can be done by right clicking the "src" folder under your new project and selecting "New->Package". When the dialog comes up set the "Name" as "burp":
You should now have a package named "burp" under the source folder in the right pane. Now you will need to import the Burp extender classes into your project. Download all of the extender classes to a local folder, once this is done right click on the "burp" package in your project and select "Import". On the dialog window that comes up select "General->File System" and hit "next":
On the next dialog you will need to navigate to where you downloaded the Burp extender classes to. Once you have done this you should see the classes, click on the folder to select all items and click "Finish":
Next we can add the Burp application into the project. To do this click on "Project->Properties" on the top toolbar. When the dialog opens select "Java Build Path" and then the "Libraries" tab. On this dialog click "Add External JARs..."
Navigate to where ever you have Burp downloaded to and select it. After you have done this click "OK" to dismiss the dialog. You are now ready to build your own Burp extensions. You can test your environment by creating a new class in the burp package named "BurpExtender". Right click the "burp" package and click "New->Class". On the dialog that comes up enter "BurpExtender" and click "Finish":
In the "BurpExtender" class you can enter the following:
package burp;
public class BurpExtender
{
public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks)
{
callbacks.registerMenuItem("Hello World.", new CustomMenuItem());
}
}
class CustomMenuItem implements IMenuItemHandler
{
public void menuItemClicked(String menuItemCaption, IHttpRequestResponse[] messageInfo)
{
try
{
System.out.println("Hello From Burp!");
System.out.println("Request Item Details");
System.out.println("Host: " + messageInfo[0].getHost());
System.out.println("URL: " + messageInfo[0].getUrl());
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
After adding the content to your "BurpExtender" class you are ready to run the project for the first time. Click on "Run->Run" from the menu. You should see the following dialog asking how it should run your project:
Select "Java Application" and click "Ok". Next you should receive a dialog asking which application you want to run. Select "StartBurp - burp" and click "Ok":
When you click the "Hello World." menu button you should see some information about the request in your eclipse console window:
That's it, you now have setup your working development environment for building your own Burp extensions. The javadocs for the Burp Extender interfaces are available on the Extender web page:
- http://portswigger.net/burp/extender/burp/IBurpExtender.html
- http://portswigger.net/burp/extender/burp/IBurpExtenderCallbacks.html
- http://portswigger.net/burp/extender/burp/IHttpRequestResponse.html
- http://portswigger.net/burp/extender/burp/IScanIssue.html
- http://portswigger.net/burp/extender/burp/IScanQueueItem.html
- http://portswigger.net/burp/extender/burp/IMenuItemHandler.html
Continue reading
- New Hacker Tools
- Hacker Tools Linux
- Pentest Tools Nmap
- Hacking Tools Pc
- Computer Hacker
- Hacks And Tools
- Tools For Hacker
- Hacking Tools
- Hacker Tools Mac
- Hacker Tools Linux
- Pentest Tools
- Tools 4 Hack
- Pentest Tools Tcp Port Scanner
- Hack Tools Download
- Hacking Apps
- Pentest Tools Nmap
- Hack Tools
- Hacker Tools Github
- Growth Hacker Tools
- How To Hack
- Hacker Tools Apk
- Pentest Tools Download
- Hacking Tools Name
- Hacking Tools For Mac
- Hack App
- Pentest Tools Find Subdomains
- Black Hat Hacker Tools
- Hack Apps
- Blackhat Hacker Tools
- Hacker Tools Mac
- Blackhat Hacker Tools
- Blackhat Hacker Tools
- Wifi Hacker Tools For Windows
- Bluetooth Hacking Tools Kali
- Hack Tools For Mac
- Pentest Tools Android
- Hack Rom Tools
- Growth Hacker Tools
- Hack Tools For Mac
- Hacking Tools For Kali Linux
- Underground Hacker Sites
- Hacker Tools Linux
- Hack Tools
- Hack Tools For Games
- What Are Hacking Tools
- Hack Tools For Windows
- Hacking Tools 2020
- Hacker Tools Mac
- Pentest Tools Alternative
- Hacking Tools For Kali Linux
- Hacking Tools Windows 10
- Hacking Tools For Mac
- Pentest Tools Open Source
- Pentest Tools Review
- Pentest Automation Tools
- Hacking Tools Windows
- Computer Hacker
- Hacker Tools Free
- Free Pentest Tools For Windows
- Hacks And Tools
- Hacking Tools Download
- Hack Tools For Pc
- Blackhat Hacker Tools
- Hacker Tools Github
- Underground Hacker Sites
- Hacking Tools For Games
- Pentest Tools Github
- Hacking Tools Mac
- What Is Hacking Tools
- Hacking Tools For Beginners
- Easy Hack Tools
- Hack App
- What Is Hacking Tools
- Termux Hacking Tools 2019
- Pentest Tools Free
- World No 1 Hacker Software
- New Hack Tools