範例 2:透過建置自動化來進行 DAST 掃描

開始之前

這一組 python Script 是用來示範透過建置自動化之 DAST 掃描的功能。您可以下載下列的範例檔案,以用於這個工作流程:AppScanDASTandSASTautomation.zip。(如果檔案未下載,請用滑鼠右鍵按一下鏈結,並將檔案儲存到硬碟機。)
註: 必須建立要使用的掃描範本。不能是預設包含在 ASE 中的其中一個預設項目(例如:快速與簡易掃描或開發人員錦囊)。這個示範假設「手動探索伺服器」是安裝在預設位置:C:\Program Files (x86)\HCL\AppScan Manual Explorer

程序

當在 Jenkins 中啟動 AltoroJ 的建置時,工作流程會隨即啟動。工作流程:
  1. 建置在 Jenkins 中完成。
  2. Jenkins 執行公佈建置作業 python Selenium_StartScan.py dast_auto.config
  3. Script 會啟動手動探索伺服器。
  4. 執行 Selenium Script Selenium_Altoro_View_AcctDetails.py。(資料流量 Proxy 經過手動探索伺服器)。
  5. M.E.S 已停止且資料流量擷取已儲存為工作區目錄中的 HTD 檔案。
  6. 如果沒有掃描工作,則會在 ASE 中建立一個掃描工作。
  7. 起始 URL 已新增至工作(舊的會被改寫)。
  8. HTD 檔案已遭到刪除。
  9. 登入類型設為自動
  10. 測試認證已新增至掃描工作。
  11. 掃描已執行。
  12. 報告套件已執行。
  13. 安全問題已從「安全問題」報告擷取。
  14. monkit.xml 已更新,讓 Jenkins 可以顯示圖形。
    此處理程序的必要檔案為:
    • dast_auto.config - 這是自動化的配置檔。編輯此檔案以變更 Script 的行為。例如:變更掃描範本或起始 URL。Selenium_StartScan.py 檔案具有可以產生空白配置檔的函數。

    • scans.py - Python 程式庫,其中包含對 ASE 的 API 呼叫。
    • Selenium_Altoro_ViewAcctDetails.py - Selenium Script,它會登入 AltoroJ,檢視第一個帳戶的帳戶詳細資料並且執行搜尋。

    • Selenium_StartScan.py - Python Script,其中包含在上述步驟 3 到步驟 14 中所述的邏輯。編輯行 #80 以調整 Jenkins 專案資料夾命名。

    • monkit.xml - 一個檔案,Jenkins 可以用來顯示我們的安全掃描的結果。
    • geckodriver.log - 針對 geckodriver 自動產生的日誌檔。geckodriver 是驅動程式,可讓 Selenium 透過 Python 與 Firefox 互動