ZAP 不断扫描不必要的 URL

ZAP keeps scanning unnecessary URLs

我正在做的是:

正在启动 ZAP 以侦听某个端口

zap.bat -daemon -host localhost -port 2355 -config api.disablekey=true

开始新会话

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 测试,浏览器绑定到 proxy: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 将对通过它代理的所有请求执行被动扫描,它发现的任何潜在漏洞最终都会出现在报告中。所以它按预期工作:)

您可以忽略它们,也可以使用允许您过滤报告的可选插件之一。

您可以定义一个包含您想要结果的 sites/apps 的上下文(右键单击,添加到上下文,在历史选项卡或站点树中)并启用被动扫描选项,将扫描限制为仅范围内的消息。

上下文也可以导出和导入以供干净地重复使用。

支持参考: