1

试图在网站上自动执行 zap 代理扫描。下面是我的流程

  1. 启动 Zap 代理
  2. 创建新会话 ( /JSON/core/action/newSession/?apikey=12345&name=NewSession&overwrite=true)
  3. 创建新上下文 ( /JSON/context/action/newContext/?apikey=12345&contextName=NewContext)
  4. 将包含和排除正则表达式 URL 模式添加到上下文 ( /JSON/context/action/setContextRegexs/?apikey=12345&contextName=NewContext&incRegexs=[https://myowsapjuiceshop.herokuapp.com/*]&excRegexs=[^(?:(?!http.*://myowsapjuiceshop.herokuapp.com).*).$])
  5. 将技术添加到上下文 ( /JSON/context/action/includeContextTechnologies/?apikey=12345&contextName=NewContext&technologyNames=Db.MySQL%2CLanguage.Java%2COS.Linux%2CWS.Tomcat)
  6. 使用代理集运行 UI 测试
  7. 运行主动扫描 ( /JSON/ascan/action/scan/?apikey=12345&url=&recurse=&inScopeOnly=&scanPolicyName=&method=&postData=&contextId=2) // 2 是正确的 contextID
  8. 等待主动扫描完成 ( /JSON/ascan/view/status/?apikey=12345&scanId=5) // 5 是我应该从第 7 步获得的扫描 ID(运行主动扫描响应)
  9. 获取警报 json ( /JSON/alert/view/alerts/?apikey=12345&baseurl=&start=&count=&riskId=)

在第 7 步之前一切都很好,我停留在第 7 步。基于文档“针对给定的 URL 和/或上下文运行活动扫描程序......”。我的理解是,我可以针对上下文运行主动扫描,并且当提到 ContextId 时,URL 是可选的。

但是,当我点击 api 以使用正确的 apikey 和 contextId 运行主动扫描时 /JSON/ascan/action/scan/?apikey=12345&url=&recurse=&inScopeOnly=&scanPolicyName=&method=&postData=&contextId=2

回应是{"code":"missing_parameter","message":"Missing Parameter"}

我在 zap 日志中遇到错误

1581054 [ZAP-ProxyThread-65] WARN org.zaproxy.zap.extension.api.API  - Bad request to API endpoint [/JSON/ascan/action/scan/] from [127.0.0.1]:
Missing Parameter (missing_parameter) : url
    at org.zaproxy.zap.extension.ascan.ActiveScanAPI.scanURL(ActiveScanAPI.java:874)
    at org.zaproxy.zap.extension.ascan.ActiveScanAPI.handleApiAction(ActiveScanAPI.java:369)
    at org.zaproxy.zap.extension.api.API.handleApiRequest(API.java:506)
    at org.parosproxy.paros.core.proxy.ProxyThread.processHttp(ProxyThread.java:499)
    at org.parosproxy.paros.core.proxy.ProxyThread.run(ProxyThread.java:335)
    at java.lang.Thread.run(Thread.java:748)

我想对记录的所有匹配的 URL 运行主动 ascan,包括和排除我在上下文中设置的正则表达式。任何帮助将不胜感激。

4

1 回答 1

2

您是否在上下文中定义了任何 URL?如果是这样,站点树中是否有这些 URL?

于 2020-04-21T13:45:45.730 回答