import org.zaproxy.zap.extension.script.ScriptVars as ScriptVars
import json
def sendingRequest(msg, initiator, helper):
token = ScriptVars.getGlobalVar("bearer-token")
if(token):
print("Bearer Token = ", str(token[0:10] + "--------"))
msg.getRequestHeader().setHeader('Authorization', 'Bearer ' + token)
return msg
def responseReceived(msg, initiator, helper):
response_url = msg.getRequestHeader().getURI().toString()
Method = msg.getRequestHeader().getMethod()
HTTPStatus_code = msg.getResponseHeader().getStatusCode()
write_file(initiator, response_url, Method, HTTPStatus_code)
# Function To Write Responses To A JSON File
def write_file(initiator, response_url, Method, HTTPStatus_code):
if(initiator == 1):
initiator = "PROXY_SCANNNER"
if(initiator == 2):
initiator = "ACTIVE_SCANNER"
if(initiator == 3):
initiator = "SPIDER_SCANNNER"
if(initiator == 4):
initiator = "FUZZER_SCANNNER"
if(initiator == 5):
initiator = "AUTHENTICATION_SCANNNER"
if(initiator == 6):
initiator = "MANUAL_REQUEST_SCANNNER"
if(initiator == 7):
initiator = "CHECK_FOR_UPDATES_SCANNNER"
if(initiator == 8):
initiator = "BEAN_SHELL_SCANNNER"
if(initiator == 9):
initiator = "ACCESS_CONTROL_SCANNNER"
if(initiator == 10):
initiator = "AJAX_SPIDER_SCANNNER"
# writting report to file
issue_json_file = r"/scripts/req-resp-log.json"
print("--------------------------------------------------------------------------------")
print( Method + " = " + initiator + " | " + response_url + " | " + str(HTTPStatus_code))
print("--------------------------------------------------------------------------------")
with open(issue_json_file, "a+") as f:
json.dump({"Scanner": initiator, "Method": Method, "response_url": response_url,
"HTTPStatus_code": HTTPStatus_code}, f, indent=4, separators =(". ", " = "))