我正在做的是:
启动 ZAP 监听一些端口
zap.bat -daemon -host localhost -port 2355 -config api.disablekey=true
开始新 session
curl -X GET "http://localhost:2355/JSON/core/action/newSession/?zapapiformat=JSON&formMethod=GET&name=&overwrite=" -H "cache-control: no-cache"
通过 REST 服务,给它一个上下文,其中只包含一个 URL 模式
curl -X GET "http://localhost:2355/JSON/context/action/importContext/?zapapiformat=JSON&formMethod=GET&contextFile=some-test-context.context" -H "cache-control: no-cache"
HERE 我启动 selenium 测试,浏览器绑定(bind)到代理:2355
启动蜘蛛
curl -X GET "http://localhost:2355/JSON/spider/action/scan/?zapapiformat=JSON&apikey=&formMethod=GET&url=&maxChildren=&recurse=&contextName=some-test-context&subtreeOnly=" -H "cache-control: no-cache"
开始主动扫描
curl -X GET "http://localhost:2355/JSON/ascan/action/scan/?zapapiformat=JSON&apikey=&formMethod=GET&url=&recurse=&inScopeOnly=&scanPolicyName=&method=&postData=&contextId=2" -H "cache-control: no-cache"
(2,因为总是有id#1上下文,默认一个)
最后我得到了报告
curl -X GET "http://localhost:2355/OTHER/core/other/htmlreport/?formMethod=GET" -H "cache-control: no-cache" -H "content: application/json"
我很确定上下文路径是正确的并且存在(没有读取错误) 我很确定我指定了正确的上下文名称和 ID
无论如何,当我收到报告时,不仅在来自上下文的 URL 上还有扫描结果。还有生产链接、第 3 方站点等。
我是预期错了还是忘记了?
最佳答案
浏览器将请求这些 URL。 ZAP 将对通过它代理的所有请求执行被动扫描,它发现的任何潜在漏洞最终都会出现在报告中。所以它按预期工作:)
您可以忽略它们或使用允许您过滤报告的可选插件之一。
关于owasp - ZAP 不断扫描不必要的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47514833/