Skip to content

Instantly share code, notes, and snippets.

@pajswigger
Created October 23, 2017 13:30
Show Gist options
  • Save pajswigger/c9317ba7b9bcc0c4a0e55096e2573d6e to your computer and use it in GitHub Desktop.
Save pajswigger/c9317ba7b9bcc0c4a0e55096e2573d6e to your computer and use it in GitHub Desktop.
from burp import IBurpExtender, IScannerCheck, IScanIssue
from java.net import URL
import jarray
class CustomCheck(IScannerCheck):
def __init__(self, callbacks):
self.callbacks = callbacks
self.helpers = callbacks.getHelpers()
def doPassiveScan(self, requestResponse):
requestInfo = self.helpers.analyzeRequest(requestResponse)
requestResponseMarked = self.callbacks.applyMarkers(requestResponse, [], [jarray.array([10,20], 'i')])
return [CustomIssue(requestInfo.getUrl(),
requestResponse.getHttpService(),
[requestResponseMarked])]
def doActiveScan(self, a, b):
pass
def consolidateDuplicateIssues(self, a, b):
return 0
class CustomIssue(IScanIssue):
def __init__(self, url, httpService, httpMessages):
self.xurl = url
self.xhttpService = httpService
self.xhttpMessages = httpMessages
def getUrl(self):
return self.xurl
def getIssueName(self):
return "Custom issue"
def getIssueType(self):
return 0x0000
def getSeverity(self):
return "Low"
def getConfidence(self):
return "Firm"
def getIssueBackground(self):
return "Custom issue"
def getRemediationBackground(self):
return "Panic"
def getIssueDetail(self):
return "Custom issue"
def getRemediationDetail(self):
return "Run in circles, scream and shout"
def getHttpMessages(self):
return self.xhttpMessages
def getHttpService(self):
return self.xhttpService
class BurpExtender(IBurpExtender):
def registerExtenderCallbacks(self, callbacks):
callbacks.registerScannerCheck(CustomCheck(callbacks))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment