Created
March 25, 2018 01:50
-
-
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
This file contains hidden or 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
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