使用Swagger API定义进行OWASP ZAP活动扫描时身份验证失败

使用Swagger API定义进行OWASP ZAP活动扫描时身份验证失败,api,openapi,owasp,zap,Api,Openapi,Owasp,Zap,我正在尝试使用OWASP ZAP对应用程序的Swagger API(OpenAPI)定义进行活动扫描。基本上,我需要使用自动化工具(当然不是手动工具)测试应用程序的API端点,因为使用不同的有效负载和大型API手动测试它会花费很多时间。在执行活动扫描之前,我已经配置了ZAP上下文,从URL/文件加载了API定义,然后在上下文中确保选择了正确的用户凭据。我已经测试了一些web和移动应用程序,它们与ZAP完美配合,但我注意到,如果应用程序使用自定义类型的身份验证而不是通常的HTTP头授权:承载:,即

我正在尝试使用OWASP ZAP对应用程序的Swagger API(OpenAPI)定义进行活动扫描。基本上,我需要使用自动化工具(当然不是手动工具)测试应用程序的API端点,因为使用不同的有效负载和大型API手动测试它会花费很多时间。在执行活动扫描之前,我已经配置了ZAP上下文,从URL/文件加载了API定义,然后在上下文中确保选择了正确的用户凭据。我已经测试了一些web和移动应用程序,它们与ZAP完美配合,但我注意到,如果应用程序使用自定义类型的身份验证而不是通常的HTTP头
授权:承载:
,即使上下文和设置正确,ZAP也无法进行身份验证。这导致ZAP只向需要身份验证的页面发送有效负载,导致大部分HTTP错误4xx并产生垃圾结果。该标头的示例为
CustomizedAppTokenHeader:

有人知道ZAP是否能够使用自定义身份验证头对应用程序进行活动扫描以获取身份验证令牌吗?我想这是没有好的ZAP扫描结果的罪魁祸首。有关身份验证方案的详细信息


任何信息将不胜感激,因为我已经搜索了很多关于这个问题。我在这方面急需帮助

您可以设置身份验证脚本进行身份验证,然后获取身份验证令牌并在以下请求中进行设置

关于示例或灵感,我建议查看社区脚本回购:

这里有一个很好的例子,你也可以参考。(虽然它显示了python脚本的使用,但JavaScript也可以实现这一点):