我正在做的是:
启动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"
这里我用浏览器绑定到代理启动selenium测试: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上下文,默认为1)
最后我收到报告
curl -X GET "http://localhost:2355/OTHER/core/other/htmlreport/?formMethod=GET" -H "cache-control: no-cache" -H "content: application/json"
我很确定上下文路径是正确的并且存在(没有读取错误) 我很确定我指定了正确的上下文名称和id
无论如何,当我收到报告时,扫描结果不仅仅是来自上下文的URL。但也在生产链接,第三方网站等
我期待smth错误或忘记smth?
答案 0 :(得分:1)
您可以定义一个上下文,其中包含您希望获得结果的网站/应用(右键单击,添加到上下文,在历史记录选项卡或网站树中)并启用被动扫描选项,该选项将扫描限制为仅包含-scope。
也可以导出和导入上下文以便重复使用。
支持参考: