我正在编写一个python客户端来测试使用zap客户端库的webapp。因为在稳定的zap版本中没有支持基于json的auth方法,所以我现在使用的是live zap容器。
在python客户端中,我尝试了以下内容:
login_config_params = ''.join(("loginUrl=https://x.x.x.x/login/&loginRequestData=",
urllib.parse.quote_plus("{\"username\":\"xxxxx\",\"password\":\"xxxxx\"}")))
zap.authentication.set_authentication_method(context_id, "jsonBasedAuthentication", authmethodconfigparams=login_config_params, apikey=apikey)
执行此操作时,我在容器中看不到任何有关成功设置的日志。
请帮我检查一下这是不是已经好了,可以继续了
发布于 2018-05-15 15:37:47
仅使用API时,确定身份验证设置是否正确可能会很棘手。
我推荐使用ZAP进行测试,因为它可以让你更容易地看到发生了什么-你仍然可以使用API来配置ZAP,但你也可以看到请求和响应,这使得调试变得更容易。
发布于 2018-06-09 07:49:29
大多数REST/JSON类型的app都使用某种类型的Authorization头,所以你应该看看你的应用程序使用了什么,并模仿它。然后将这些头添加到每个请求。例如,如果您有一个cookie和一个Authorization头:
zap.replacer.add_rule('Auth Header', True, 'REQ_HEADER', False, 'Authorization', 'Bearer ' + auth_token) zap.replacer.add_rule('Cookie', True, 'REQ_HEADER', False, 'Cookie', 'SESSIONID=' + sessionid)
这些将包含在后续的每个扫描请求中。
https://stackoverflow.com/questions/50342909
复制相似问题