python-3.x - Zap API 中缺少参数用户名错误
问题描述
我一直在使用 Zest 登录脚本运行 Zap 身份验证扫描,但在我更新 Zap docker 映像后,身份验证已中断 - 似乎是由于 API 的更改。
这是我得到的输出:
5309955 [ZAP-ProxyThread-3963] INFO org.parosproxy.paros.control.Control - New session file created
zap | 5313051 [ZAP-ProxyThread-3971] INFO org.zaproxy.zap.authentication.ScriptBasedAuthenticationMethodType - Loaded script for API:login.zst
zap | 5313633 [ZAP-ProxyThread-3975] WARN org.zaproxy.zap.extension.api.API - Bad request to API endpoint [/JSON/users/action/setAuthenticationCredentials/] from [10.254.0.6]:
zap | Missing Parameter (missing_parameter) : Username
这就是我提供身份验证参数的方式:
authmethod_params = ('scriptName=' + auth_script_name + '&'
'Submission Form URL={0}/{1}&'
'Username field=username&'
'Password field=password&'
'Target URL=http://www.example.com/login')
# setup authentication
auth = zap.authentication
auth.set_authentication_method(
contextid=context_id,
authmethodname=auth_method_name,
authmethodconfigparams=authmethod_params)
由于某种原因,API 无法识别用户名参数,因此登录失败。您能否提供一个当前示例,说明如何将基于脚本的身份验证的登录参数传递给 Zap API?
非常感谢
解决方案
找到原因:由于我没有在请求中更新 base 64 编码的凭据,因此新用户的身份验证中断了。
推荐阅读
- python - 使用 python 和 pandas 计算时间并将值推送到 CSV 文件中
- ios - 货币复数 swift 不允许配置
- python - 如何解释 Python 的 subprocess.run 的返回码
- ios - 在 FScalendar swift 中禁用某些未来日期选择
- winapi - 具有透明背景的win32菜单项位图
- python - 将文本转换为列或数据框或其他文本
- python - Python NameError:未定义名称“X”
- python-3.x - Python 3 中的多线程 Ping 脚本
- azure-functions - 共享环境中的功能/应用程序服务内存不受探测文档的影响 - 跨租户黑客
- c# - datatables asp.net core razor pages IActionResult new JsonResult