示例 2:通过构建自动化进行 DAST 扫描

开始之前

这个 python 脚本集旨在展示通过构建自动化进行 DAST 扫描的能力。以下是可下载以在此工作流程中使用的样本文件:AppScanDASTandSASTautomation.zip. (如果文件无法下载,请右键单击链接并将文件保存到硬盘驱动器。)
注: 待使用的扫描模板必须创建。缺省情况下,它不得为 ASE 中包含的缺省值之一(例如:快速简洁扫描或开发者精要)。此演示假定 Manual Explore Server 安装在缺省位置:C:\Program Files (x86)\HCL\AppScan Manual Explorer

过程

AltoroJ 构建在 Jenkins 中启动时, 工作流程就开始了。工作流程:
  1. 在 Jenkins 中完成构建。
  2. Jenkins 运行后构建任体力 python Selenium_StartScan.py dast_auto.config
  3. 脚本启动 Manual Explore Server。
  4. 运行 selenium 脚本 Selenium_Altoro_View_AcctDetails.py。(流量通过 Manual Explore Server 代理)。
  5. M.E.S 已停止,流量捕获已作为 HTD 文件保存在工作空间的目录中。
  6. 如果没有现成的扫描作业,ASE 会创建一个。
  7. 向作业添加了起始 URL(旧的被覆盖)。
  8. HTD 文件被删除。
  9. 登录类型设置为自动
  10. 向扫描作业添加了测试凭证。
  11. 运行扫描。
  12. 运行报告包。
  13. 安全问题提取自“安全问题”报告。
  14. 更新了 monkit.xml ,因此 Jenkins 可以展示图形了。
    此进程所必须的文件有:
    • dast_auto.config - 该自动化的配置文件。编辑此文件以更改脚本的行为。例如:更改扫描模板或起始 URL。文件 Selenium_StartScan.py 具有生成空白配置文件的功能。

    • scans.py - 包含调用 ASE 的 API 的 python 库。
    • Selenium_Altoro_ViewAcctDetails.py - 可登录到 AltoroJ、查看第一个帐户的帐户详细信息并进行搜索的 Selenium 脚本。

    • Selenium_StartScan.py - 包含上述第 3 步到第 14 步中所述逻辑的 python 脚本编辑第 80 行,以调整 Jenkins 项目文件夹的命名方式。

    • monkit.xml - Jenkins 可用于显示安全扫描结果的文件。
    • geckodriver.log - geckodriver 自动生成的日志文件。geckodriver 是一个驱动程序,允许 Selenium 通过 python 连接 firefox