繁体   English   中英

如何在 docker ZAP OWASP zap-full-scan 的每个 http 请求中添加参数

[英]How to add a parameter in every http request in docker ZAP OWASP zap-full-scan

我正在使用此命令对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 发件人部分中有一个 add-extra-headers.js 脚本。 但是当我做 docker 运行 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
} 

Dp 你需要添加一个 HTTP header 或其他一些参数吗? header 可以通过环境变量轻松添加: https://www.zaproxy.org/docs/desktop/start/features/authentication/#envvars

如果您需要添加另一种参数,则可以通过脚本完成,但您需要告诉 ZAP 从何处加载它们。

首先在 ZAP GUI 中实现和测试你的 scipt - 更容易看到那里发生了什么。 一旦运行成功,您需要将脚本放入使用标准 Docker -v参数安装的目录中,根据https://www.zaproxy.org/docs/docker/full-scan/最后您必须将 ZAP 配置为使用 Docker 容器中脚本的本地 ath 告诉它脚本。 此常见问题解答中有详细说明: https://www.zaproxy.org/faq/how-do-you-add-a-script-to-zap-from-the-command-line/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM