无法使用 Zap 代理对给定上下文启动主动扫描 (ascan)
Unable to Start active scan (ascan) on given context with Zap Proxy
正在尝试在网站上自动执行 zap 代理扫描。下面是我的流程
- 启动 Zap 代理
- 创建新会话(
/JSON/core/action/newSession/?apikey=12345&name=NewSession&overwrite=true
)
- 创建新上下文(
/JSON/context/action/newContext/?apikey=12345&contextName=NewContext
)
- 将包含和排除正则表达式 URL 模式添加到上下文 (
/JSON/context/action/setContextRegexs/?apikey=12345&contextName=NewContext&incRegexs=[https://myowsapjuiceshop.herokuapp.com/*]&excRegexs=[^(?:(?!http.*://myowsapjuiceshop.herokuapp.com).*).$]
)
- 将技术添加到上下文中(
/JSON/context/action/includeContextTechnologies/?apikey=12345&contextName=NewContext&technologyNames=Db.MySQL%2CLanguage.Java%2COS.Linux%2CWS.Tomcat
)
- 运行 UI 使用代理集进行测试
- 运行 主动扫描 (
/JSON/ascan/action/scan/?apikey=12345&url=&recurse=&inScopeOnly=&scanPolicyName=&method=&postData=&contextId=2
) // 2 是正确的 contextID
- 等待主动扫描完成 (
/JSON/ascan/view/status/?apikey=12345&scanId=5
) // 5 是我应该从第 7 步获得的扫描 ID (运行 主动扫描响应)
- 获取警报 json (
/JSON/alert/view/alerts/?apikey=12345&baseurl=&start=&count=&riskId=
)
在第 7 步之前一切正常,我卡在了第 7 步。基于文档 "Runs the active scanner against the given URL and/or Context...."。我的理解是我可以 运行 针对上下文进行主动扫描,并且当提到 ContextId 时 URL 是可选的。
但是,当我使用正确的 apikey 和 contextId /JSON/ascan/action/scan/?apikey=12345&url=&recurse=&inScopeOnly=&scanPolicyName=&method=&postData=&contextId=2
按 api 到 运行 主动扫描时
响应是 {"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 记录的匹配包括和排除我在上下文中设置的正则表达式。任何帮助将不胜感激。
您是否在上下文中定义了任何 URL?
如果是,这些 URL 是否在站点树中?
正在尝试在网站上自动执行 zap 代理扫描。下面是我的流程
- 启动 Zap 代理
- 创建新会话(
/JSON/core/action/newSession/?apikey=12345&name=NewSession&overwrite=true
) - 创建新上下文(
/JSON/context/action/newContext/?apikey=12345&contextName=NewContext
) - 将包含和排除正则表达式 URL 模式添加到上下文 (
/JSON/context/action/setContextRegexs/?apikey=12345&contextName=NewContext&incRegexs=[https://myowsapjuiceshop.herokuapp.com/*]&excRegexs=[^(?:(?!http.*://myowsapjuiceshop.herokuapp.com).*).$]
) - 将技术添加到上下文中(
/JSON/context/action/includeContextTechnologies/?apikey=12345&contextName=NewContext&technologyNames=Db.MySQL%2CLanguage.Java%2COS.Linux%2CWS.Tomcat
) - 运行 UI 使用代理集进行测试
- 运行 主动扫描 (
/JSON/ascan/action/scan/?apikey=12345&url=&recurse=&inScopeOnly=&scanPolicyName=&method=&postData=&contextId=2
) // 2 是正确的 contextID - 等待主动扫描完成 (
/JSON/ascan/view/status/?apikey=12345&scanId=5
) // 5 是我应该从第 7 步获得的扫描 ID (运行 主动扫描响应) - 获取警报 json (
/JSON/alert/view/alerts/?apikey=12345&baseurl=&start=&count=&riskId=
)
在第 7 步之前一切正常,我卡在了第 7 步。基于文档 "Runs the active scanner against the given URL and/or Context...."。我的理解是我可以 运行 针对上下文进行主动扫描,并且当提到 ContextId 时 URL 是可选的。
但是,当我使用正确的 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 记录的匹配包括和排除我在上下文中设置的正则表达式。任何帮助将不胜感激。
您是否在上下文中定义了任何 URL? 如果是,这些 URL 是否在站点树中?