The IntelliJ Python plugin supports code completion and this can recognize the Burp API. First, make sure your project has the SDK set to Jython:
Then, add the Burp API as a library:
The IntelliJ Python plugin supports code completion and this can recognize the Burp API. First, make sure your project has the SDK set to Jython:
Then, add the Burp API as a library:
package burp; | |
import java.util.Random; | |
public class BuildUnencodedRequest | |
{ | |
private Random random = new Random(); | |
private IExtensionHelpers helpers; | |
BuildUnencodedRequest(IExtensionHelpers helpers) |
# For use with Python Scripter extension | |
from java.net import URL | |
if not messageIsRequest: | |
request_info = helpers.analyzeRequest(messageInfo.getHttpService(), messageInfo.getRequest()) | |
if request_info.getUrl().toString() == 'http://blah/': | |
response_info = helpers.analyzeResponse(messageInfo.getResponse()) | |
for header in response_info.getHeaders(): | |
if header.startswith('Location: '): | |
url = URL(header[len('Location: '):]) | |
req = helpers.buildHttpRequest(url) |
#!/bin/bash | |
orig=$PWD | |
file=`basename $1` | |
mkdir -p "/tmp/$file" | |
cd "/tmp/$file" | |
jar -xf "$orig/$1" | |
find . -name \*.jar | while read JAR; do | |
jar -u0f "$orig/$1" $JAR | |
done |
JTabbedPane tabbedPane; | |
ChangeListener changeListener; | |
// add to constructor | |
addHierarchyListener(this); | |
void highlightTab() | |
{ | |
if(tabbedPane != null) | |
{ |
package burp; | |
import java.awt.Component | |
import java.util.* | |
class MessageEditorTab : IMessageEditorTab { | |
var messageEditor = BurpExtender.cb.createMessageEditor(null, true) | |
override fun getMessage(): ByteArray { | |
return messageEditor.message |
package burp; | |
import org.json.JSONObject; | |
import org.json.JSONArray; | |
import org.json.JSONTokener; | |
import javax.swing.*; | |
import java.awt.event.ActionListener; | |
import java.awt.event.ActionEvent; | |
import java.io.PrintWriter; |
from burp import IBurpExtender, IScannerInsertionPoint, IScannerInsertionPointProvider | |
import base64, jarray, re | |
class BurpExtender(IBurpExtender): | |
def registerExtenderCallbacks(self, callbacks): | |
callbacks.registerScannerInsertionPointProvider(BasicAuthInsertionPointProvider(callbacks)) | |
class BasicAuthInsertionPointProvider(IScannerInsertionPointProvider): |
from burp import IBurpExtender | |
from java.io import File | |
class BurpExtender(IBurpExtender): | |
def registerExtenderCallbacks(self, callbacks): | |
args = callbacks.getCommandLineArguments() | |
if '--report' not in args: | |
return | |
output = File(args[args.index('--report') + 1]) |
from burp import IBurpExtender, IHttpListener | |
import json | |
class BurpExtender(IBurpExtender, IHttpListener): | |
def registerExtenderCallbacks(self, callbacks): | |
self.helpers = callbacks.getHelpers() | |
callbacks.registerHttpListener(self) | |
def processHttpMessage(self, toolFlag, messageIsRequest, message): |