Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save toripiyo/562c9c6f60852e02566cbaf0ea4629f3 to your computer and use it in GitHub Desktop.
Save toripiyo/562c9c6f60852e02566cbaf0ea4629f3 to your computer and use it in GitHub Desktop.
This script adds additional header on request header only if spcific host request is issued
from burp import IBurpExtender
from burp import IHttpListener
class BurpExtender(IBurpExtender, IHttpListener):
def registerExtenderCallbacks(self, callbacks):
self._callbacks = callbacks
self._helpers = callbacks.getHelpers()
callbacks.setExtensionName("Homemade Extension")
callbacks.registerHttpListener(self)
return
def processHttpMessage(self, toolFlag, messageIsRequest, currentRequest):
if not messageIsRequest:
return
# header
requestInfo = self._helpers.analyzeRequest(currentRequest)
headers = requestInfo.getHeaders()
headersArray = list(headers)
# body
bodyBytes = currentRequest.getRequest()[requestInfo.getBodyOffset():]
bodyStr = self._helpers.bytesToString(bodyBytes)
# add X-TORIPIYO header to request header only if request is to "toripiyo.hatenablog.com" host
url = requestInfo.getUrl()
host = url.getHost()
# print host # for debug
if host == ('toripiyo.hatenablog.com'):
# set new headers
newHeader = "X-TORIPIYO: piyopiyo"
headersArray.append(newHeader)
# set new request
newRequest = self._helpers.buildHttpMessage(headersArray, bodyStr)
currentRequest.setRequest(newRequest)
return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment