-
Notifications
You must be signed in to change notification settings - Fork 112
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #73 from doyensec/2ndgen-extensions
2ndgen extensions
- Loading branch information
Showing
12 changed files
with
396 additions
and
116 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
FAQ | ||
=== | ||
|
||
Is Burp Suite Free/Community edition supported? | ||
----------------------------------------------- | ||
|
||
No, it is not. Burp Rest API exposes functionalities that are best suited for the Professional | ||
version of Burp Suite. Even if it was possible to start _burp-rest-api_ using the Free version of Burp, this is no longer possible and the support won't be included in future releases. | ||
|
||
Whenever I run the gradle command I receive an error. What can be the the cause? | ||
---------------------------------------------------------------------------- | ||
|
||
Often times, Gradle introduces incompatibility between major versions, therefore | ||
the recommended way of executing any Gradle build is by using the Gradle | ||
Wrapper (in short just “Wrapper”). The Wrapper is a script that invokes a | ||
declared version of Gradle, downloading it beforehand if necessary. | ||
|
||
See [Issue 37](https://github.com/vmware/burp-rest-api/issues/37). | ||
|
||
Is it possible to run burp-rest-api graphically in remote servers? | ||
------------------------------------------------------------------ | ||
|
||
Yes, it is possible to run Burp in graphical environments in multiple | ||
configurations (X Forwarding, Full VNC, RDP, XPRA). | ||
|
||
For running a non persistent X Forwarding session on your OS you can follow this | ||
[guide](https://uisapp2.iu.edu/confluence-prd/pages/viewpage.action?pageId=280461906). | ||
|
||
See [Issue 60](https://github.com/vmware/burp-rest-api/issues/60). | ||
|
||
Is it possible to customize the binding address:port for Burp Proxy and/or burp-rest-api APIs? | ||
---------------------------------------------------------------------------------------------- | ||
|
||
There are two binding ports in a standard burp-rest-api setup: | ||
- **burp-rest-api RPC mechanism**. Both IP address and port can be customized at runtime using command line arguments (namely _--server.address_ and _--server.port_) | ||
- **Burp Proxy Listener**. This is a Burp Suite configuration, and can be customized using a custom project option file. | ||
|
||
``` | ||
"request_listeners":[ | ||
{ | ||
"certificate_mode":"per_host", | ||
"listen_mode":"192.168.1.1", | ||
"listener_port":8080, | ||
"running":true | ||
} | ||
``` | ||
|
||
Is Burp Suite v2 supported? | ||
---------------------------------------------------------------------------------------------- | ||
|
||
Next generation Burp Suite v2 is a beta release at the time of writing this FAQ. While we will *try* to mantain support for both Burp Suite stable and beta, we cannot ensure full compability. For production, please stay on Burp Suite Professional stable branch. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
/* | ||
* Copyright (c) 2018 Doyensec LLC. | ||
*/ | ||
|
||
package burp; | ||
|
||
import java.io.PrintWriter; | ||
import java.lang.reflect.InvocationTargetException; | ||
import java.lang.reflect.Method; | ||
|
||
/** | ||
* burp.BurpExtender is the burp-rest-api 2nd-gen entrypoint. | ||
* | ||
* This class search for the burp.LegacyBurpExtender 1st-gen entrypoint in the default classpath in order to execute it | ||
* through reflection. This is needed in order to made Burp able to load more than one extension at a time. | ||
*/ | ||
public class BurpExtender implements IBurpExtender { | ||
/** | ||
* This method is invoked when the extension is loaded. It registers an | ||
* instance of the | ||
* <code>IBurpExtenderCallbacks</code> interface, providing methods that may | ||
* be invoked by the extension to perform various actions. | ||
* | ||
* @param callbacks An | ||
* <code>IBurpExtenderCallbacks</code> object. | ||
*/ | ||
@Override | ||
public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) { | ||
try { | ||
legacyRegisterExtenderCallbacks(callbacks); | ||
} catch (Exception e) { | ||
PrintWriter stderr = new PrintWriter(callbacks.getStderr(), true); | ||
stderr.format("Exception: %s %s %s", e.getClass().getCanonicalName(), e.getCause(), e.getMessage()); | ||
} | ||
} | ||
|
||
private static void legacyRegisterExtenderCallbacks(IBurpExtenderCallbacks callbacks) | ||
throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException { | ||
|
||
ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); | ||
Class clazz = classLoader.loadClass("burp.LegacyBurpExtender"); | ||
Object obj = clazz.newInstance(); | ||
Method method = clazz.getMethod("registerExtenderCallbacks", IBurpExtenderCallbacks.class); | ||
method.invoke(obj, callbacks); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.