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:
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":
You should now see the burp application running. Intercept a request in the application and right click on the request, you should now see an item in the menu named "Hello World."
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:
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
More articles
- Hacker Tools For Pc
- Hacking Tools 2019
- Pentest Tools Apk
- What Is Hacking Tools
- Hacker Tools Free
- Hacking App
- Hacking Tools 2019
- World No 1 Hacker Software
- Hack Tools
- Top Pentest Tools
- Hacker Tools Software
- Hacking Tools Download
- Hacker
- Pentest Tools Nmap
- Wifi Hacker Tools For Windows
- Github Hacking Tools
- Hacker Tools Mac
- Computer Hacker
- What Is Hacking Tools
- Hack Tools 2019
- Pentest Tools Free
- Hacking Tools For Windows 7
- Hacker Tools For Windows
- Hack Tools Online
- Hack Tools For Games
- Hack Tools For Windows
- Hack Tools Github
- Usb Pentest Tools
- Hacker Tools Mac
- Pentest Tools For Ubuntu
- Hacking Tools For Windows 7
- Hackers Toolbox
- Pentest Tools Website Vulnerability
- Hacking Tools Mac
- Pentest Tools Android
- Hack App
- Pentest Tools Nmap
- Hacker Search Tools
- Termux Hacking Tools 2019
- Hacker Security Tools
- Hacker Tools Online
- Hacks And Tools
- Pentest Tools Free
- Beginner Hacker Tools
- Hack Tools For Ubuntu
- Hack Tool Apk No Root
- Hacker Tools 2019
- Github Hacking Tools
- Hacking Tools Windows
- Hacker Hardware Tools
- Pentest Tools For Ubuntu
- Pentest Automation Tools
- Hacking Apps
- Pentest Tools Review
- Pentest Tools For Windows
- Hacking Tools For Pc
- Pentest Tools Website
- Pentest Tools Online
- Hacking Tools For Kali Linux
- Hacking Tools For Kali Linux
- Hacker Tools For Ios
- Hack Tool Apk No Root
- Hacker Tools Hardware
- Hacker Search Tools
- Pentest Tools Find Subdomains
- Hacker Tools Github
- What Are Hacking Tools
- Pentest Tools Bluekeep
- Hacking Tools Usb
- Hacker Tools 2020
- Growth Hacker Tools
- Pentest Tools For Windows
- Best Pentesting Tools 2018
- Android Hack Tools Github
- Hacking Tools 2019
- Hack Rom Tools
- Pentest Tools Website
- Hacker Tools For Pc
Comments