OWASP ZAP:持续集成中的主动扫描器
OWASP ZAP: Active Scanner in Continuos Integration
尝试在连续集成 (CI) 设置中使用 ZAP (2.4.3)。我可以 运行 ZAP 作为守护进程,运行 我所有的 Selenium 测试(在 Java 中)通过使用 ZAP 作为代理,然后能够使用 REST api 调用htmlreport
获取被动扫描器的最终报告。这很好用,但我还想使用主动扫描仪。
在 ZAP 的文档中多次提到 CI 中的使用主动扫描器,但还没有找到任何关于它的工作示例或教程...是否存在?
我想要实现的是:运行 Selenium 回归套件访问的所有页面上的主动扫描器,一旦完成 运行。
尝试查看 ZAP 的 REST api,但大部分未记录:
https://github.com/zaproxy/zaproxy/wiki/ApiGen_Index
理想情况下,有这样的东西会很棒:
- 在所有访问的 url 上异步启动主动扫描
- 轮询以检查主动扫描 运行 是否已完成
在 REST api 中似乎有一些相关的东西,但是:
ascan/scan
需要一个 url 作为输入。可以调用 core/urls
来查看 Selenium 测试访问了哪些内容,但是如何设置正确的身份验证(登录凭据)?如果 url 的访问顺序很重要怎么办?如果只能使用特定凭据访问页面怎么办?
- 有一个
ascan/scanAsUser
,但不清楚如何从 ZAP 检索 contextId
和 userId
。一个麻烦的解决方法是修改 Selenium 测试以在磁盘上写入他们访问的 urls 和他们正在使用的 logging/password 凭据,然后,一旦所有测试完成,从磁盘读取此类信息调用 ZAP。有没有更简单的方法?
好的,所以这里有很多问题:)
ZAP 通常会扫描 URL 的层次结构,例如应用程序 https://www.example.com/app 顶级 url 下的所有内容。我们假设您知道那会是什么 ;)
身份验证处理起来并不简单,请参阅 https://github.com/zaproxy/zaproxy/wiki/FAQformauth
ascan/status调用returns完成%
您可能会发现 ZAP 用户组 http://groups.google.com/group/zaproxy-users 更适合此类问题。
但是,是的,我们确实需要改进 API 文档:/
干杯,
西蒙(ZAP 项目负责人)
尝试在连续集成 (CI) 设置中使用 ZAP (2.4.3)。我可以 运行 ZAP 作为守护进程,运行 我所有的 Selenium 测试(在 Java 中)通过使用 ZAP 作为代理,然后能够使用 REST api 调用htmlreport
获取被动扫描器的最终报告。这很好用,但我还想使用主动扫描仪。
在 ZAP 的文档中多次提到 CI 中的使用主动扫描器,但还没有找到任何关于它的工作示例或教程...是否存在?
我想要实现的是:运行 Selenium 回归套件访问的所有页面上的主动扫描器,一旦完成 运行。
尝试查看 ZAP 的 REST api,但大部分未记录:
https://github.com/zaproxy/zaproxy/wiki/ApiGen_Index
理想情况下,有这样的东西会很棒:
- 在所有访问的 url 上异步启动主动扫描
- 轮询以检查主动扫描 运行 是否已完成
在 REST api 中似乎有一些相关的东西,但是:
ascan/scan
需要一个 url 作为输入。可以调用core/urls
来查看 Selenium 测试访问了哪些内容,但是如何设置正确的身份验证(登录凭据)?如果 url 的访问顺序很重要怎么办?如果只能使用特定凭据访问页面怎么办?- 有一个
ascan/scanAsUser
,但不清楚如何从 ZAP 检索contextId
和userId
。一个麻烦的解决方法是修改 Selenium 测试以在磁盘上写入他们访问的 urls 和他们正在使用的 logging/password 凭据,然后,一旦所有测试完成,从磁盘读取此类信息调用 ZAP。有没有更简单的方法?
好的,所以这里有很多问题:)
ZAP 通常会扫描 URL 的层次结构,例如应用程序 https://www.example.com/app 顶级 url 下的所有内容。我们假设您知道那会是什么 ;)
身份验证处理起来并不简单,请参阅 https://github.com/zaproxy/zaproxy/wiki/FAQformauth
ascan/status调用returns完成%
您可能会发现 ZAP 用户组 http://groups.google.com/group/zaproxy-users 更适合此类问题。 但是,是的,我们确实需要改进 API 文档:/
干杯,
西蒙(ZAP 项目负责人)