動態掃描程序

南非

掃描工具 Web Mobile Local API Extension Serverless 操作說明
OWASP® Zed Attack Proxy (ZAP)

使用 OWASP ZAP;ZAP Docker 容器對應用程式執行自動動態掃描 (DAST)。預先定義的設定檔已包含所有必要的 CWE。您只需要將這組程式碼新增至環境和 Docker 執行指令即可。

如需各個類型的定義,請按這裡 應用程式類型

可以按照下列步驟對網路、行動應用程式或內部應用程式執行完整掃描:

  1. DAST 和 API 掃描結果將使用 ZAP Docker 映像檔執行。如果是網頁、行動應用程式或內部應用程式,整個 ZAP 掃描作業應在 prod-1 或測試環境上執行。 

  2. 下載 zap-casa-config.conf 設定檔,然後前往其目錄。 

  1. 產生要掃描的結構定義檔案。詳情請參閱下方的「驗證」操作說明。

  1. 執行下列指令:

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py 
-t https://example.com -P 8080 
-c zap-casa-config.conf 
-x results-full.xml -n example.context -U username
  1. 輸出結果會儲存在 XML 檔案中 (在這裡附加範例:zap-results-full.xml)

API 掃描步驟如下:

  1. 如要掃描 API,請使用 zap-casa-api-config.conf 設定檔。 

  1. 前往其目錄,然後執行下列指令

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
-t owasp/zap2docker-stable zap-api-scan.py 
-t https://example.com -f openapi-P 8080 
-c zap-casa-api-config.conf 
-x results-full.xml
  1. 輸出結果會儲存在 XML 檔案中 (在這裡附加範例:zap-results-api.xml)

驗證

建議您透過驗證機制執行 ZAP 掃描,以瞭解使用者資料的存取和存取位置。這項操作需要設定才能執行掃描作業。ZAP Docker 映像檔提供兩個與驗證相關的引數:

-n 結構定義_file

會在掃描目標前載入的結構定義檔案

-U 使用者

用於已驗證掃描的使用者名稱。您必須在指定的內容檔案中定義使用者。

如要設定這些參數,必須建立內容檔案。這項作業可以透過 ZAP Desktop UI 輕鬆完成。

zap 內容
  1. 設定驗證機制。ZAP 目前支援五種驗證方法:

    • 手動驗證

    • 表單式驗證

    • HTTP/NTLM 驗證

    • 指令碼式驗證

    • JSON 驗證

zap 驗證
  1. 定義驗證參數。通常包含登入網址和酬載格式 (使用者名稱和密碼)。必要的參數是針對要使用的驗證方法。
zap 設定驗證
  1. 新增有效的使用者和密碼。如果應用程式會根據角色顯示不同的功能,請建立多位使用者。
zap 設定使用者

完成這些設定後,您可以將內容匯出為檔案以供參考。

Zap 匯出內容

請務必將結構定義儲存在容易參照的位置,因為您必須加入檔案路徑做為掃描指令的引數。現在,您可以使用結構定義中指定的使用者登入,執行已驗證的掃描。範例:

zap 建立使用者
  docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
  -t owasp/zap2docker-stable zap-full-scan.py 
  -t https://example.com -P 8080 
  -c zap-casa-config.conf -x results-full.xml 
  -n /Users/DemoUser/Documents/Context.context -U test@example.com