docker run \
-v $(pwd)/zap/:/zap/wrk/:rw \
-e MY_TOKEN="1234abcd" \
owasp/zap2docker-stable zap-full-scan.py -I -d \
-g gen.conf \
-J mytarget-scan-report.json \
-r mytarget-scan-report.html \
-n /zap/wrk/my-scan.context \
--hook=my-hook.py
my-hook.py
------------
def zap_started(zap, target):
zap.script.load('my-hook.js', 'httpsender', 'Oracle Nashorn', '/zap/wrk/my-hook.js')
zap.script.enable(
'my-hook.js')
my-hook.js
------------
var HttpSender = Java.type('org.parosproxy.paros.network.HttpSender');
var MY_TOKEN = "1234abcd"
//var MY_TOKEN = process.env.AUTH_TOKEN
function sendingRequest(
msg,
initiator,
helper)
{
if (initiator !== HttpSender.AUTHENTICATION_INITIATOR && msg.isInScope()) {
msg.getRequestHeader().setHeader("Authorization", 'Bearer ' + MY_TOKEN);
msg.getRequestHeader().setHeader("other-required-header", "abc-123-efg-123456789");
}
}