我正在使用此命令在https://www.example.com上执行完全扫描。
docker run -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py \
-t https://www.example.com -g gen.conf -r testreport.html我需要为每个http请求添加一个http参数。
添加http参数,如此www.example.com/toto?booking=true&satckoverflow=1。
我知道在ZAP GUI的http sender部分中有一个add-extra-headers.js脚本。但我不知道如何使用它,当我做码头运行zap-full-scan。
我不能做docker zap api扫描。
更新:使用了第二个推荐的解决方案,这是我的脚本
var URL_TYPE = org.parosproxy.paros.network.HtmlParameter.Type.url;
var HtmlParameter = Java.type('org.parosproxy.paros.network.HtmlParameter');
var paramName = 'param1';
var paramValue = 'value1';
function sendingRequest(msg, initiator, helper) {
if (!msg.getRequestHeader().getURI().toString().contains(paramName + '=' + paramValue)) {
//You might want to add a check here for the proper domain or path as well..
var urlParams = msg.getUrlParams();
var newParam = new HtmlParameter(URL_TYPE, paramName, paramValue);
urlParams.add(newParam); // you could print this if you need to see what's up
msg.setGetParams(urlParams);
}
return msg;
}
function responseReceived(msg, initiator, helper) {
//Nothing to do here
} 发布于 2021-01-11 18:11:48
Dp你需要添加一个HTTP报头或者其他一些参数吗?可以通过以下环境变量轻松添加标头:https://www.zaproxy.org/docs/desktop/start/features/authentication/#envvars
如果您需要添加其他类型的参数,则可以通过脚本完成此操作,但您需要告诉ZAP从何处加载它们。
首先,在ZAP GUI中实现和测试您的scipt -它更容易看到那里发生了什么。一旦这是工作,然后你需要把脚本放在一个目录中,你使用标准的Docker参数挂载,按照https://www.zaproxy.org/docs/docker/full-scan/,最后,你必须配置ZAP,以告诉它使用本地路径的脚本在Docker容器中。这在这个常见问题解答中有详细说明:https://www.zaproxy.org/faq/how-do-you-add-a-script-to-zap-from-the-command-line/
https://stackoverflow.com/questions/65664609
复制相似问题