首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在zap API客户端中将认证方法设置为基于json的POST请求数据?

如何在zap API客户端中将认证方法设置为基于json的POST请求数据?
EN

Stack Overflow用户
提问于 2018-05-15 13:30:17
回答 2查看 800关注 0票数 1

我正在编写一个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)

执行此操作时,我在容器中看不到任何有关成功设置的日志。

请帮我检查一下这是不是已经好了,可以继续了

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-15 15:37:47

仅使用API时,确定身份验证设置是否正确可能会很棘手。

我推荐使用ZAP进行测试,因为它可以让你更容易地看到发生了什么-你仍然可以使用API来配置ZAP,但你也可以看到请求和响应,这使得调试变得更容易。

票数 1
EN

Stack Overflow用户

发布于 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)

这些将包含在后续的每个扫描请求中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50342909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档