跳至主要内容

Pentest Toolkit - Zed Attack Proxy (ZAP)

什麼是 OWASP ZAP?

OWASP ZAP 由 OWASP (Open Web Application Security Project) 開發,是目前最受歡迎的 Web 應用安全掃描工具之一。它適合初學者與資安專家,提供 被動掃描主動攻擊測試 兩種模式。

ZAP 的主要功能

  1. 被動掃描 (Passive Scanning)
    • 當你瀏覽網站時,ZAP 會自動分析請求與回應,找出潛在漏洞。
  2. 主動掃描 (Active Scanning)
    • ZAP 會模擬駭客攻擊,例如 SQL Injection、XSS、弱身份驗證機制等。
  3. 手動測試 (Manual Testing)
    • 你可以使用 Proxy 攔截請求,手動修改參數進行測試。
  4. Fuzzer (模糊測試)
    • 自動輸入隨機或特定測試數據,檢測應用程式對異常輸入的反應。
  5. 爬取網站 (Spider & AJAX Spider)
    • 幫助測試人員快速發現網站內部的所有頁面與 API 端點。

ZAP 四種掃描模式

  • Safe Mode:禁止所有潛在的攻擊行為,確保操作安全。
  • Protected Mode:僅允許在設定範圍 (Scope) 內執行攻擊,避免影響未授權的目標。
  • Standard Mode:使用者可自由執行所有類型的攻擊行為。
  • ATTACK Mode:當設定範圍內偵測到新的網站節點時,ZAP 會自動對其執行主動掃描 (Active Scan)。

我們建議使用 Protected Mode,透過預先定義攻擊範圍 (Scope) 來限制掃描範圍,以防止攻擊未授權的網站。

如何使用 OWASP ZAP 來發現漏洞?

1. 安裝與啟動 ZAP

  1. 前往 OWASP ZAP 官方網站 下載並安裝。
  2. 啟動 ZAP,選擇「標準模式 (Standard Mode)」。

2. 開啟 ZAP

  1. 因為我們不需要儲存這次所有測試內容,因此選擇第三個。

zap-is-save-session

3. 設定 Proxy

  1. 啟動 ZAP 之後,我們可以從 Tools -> Options。

zap-options

  1. 在 Network -> Local Servers/Proxies 中確認代理的位址和 Port 號,如果 8080Port 用過可以換其他的。

zap-proxies

  1. 接著我們使用Proxy SwitchyOmega 這個 google 套件幫我們進行 Proxy,讓我們可以輕鬆連線到 ZAP。

proxy-switchy-omega-install

  1. 接著在他的設定中填寫 ZAP 的 Proxy,這樣封包就可以被 ZAP 攔截,我們也能夠分析。

proxy-switchy-omega-add-proxy

4. 設定憑證

  1. 開啟 Proxy SwitchyOmega 後,我們連像 google 會發現出現連線不安全,原因是中間多了 ZAP 這個 Proxy,我們需要把他的憑證也加入到信任憑證中。

connection-is-not-private

  1. 我們回到 ZAP 的 Tools -> Options -> Network -> ServerCertificates,就可以發現憑證,並儲存起來。

zap-save-ca

  1. 打開Chorme 的管理憑證

chrome-trust-ca

  1. 我們在 Windows 中新增信任的根憑證,並且匯入剛剛儲存的檔案,接著安下一步到底就可以了,最後按下是即可。

windows-trust-ca

  1. 這個時候瀏覽頁面就不會被擋了

5. ZAP 模式設定

  1. 我們僅希望在我們定義的 Scope 進行攻擊,避免誤傷其他人,因此選擇 Protected Mode。

zap-protected-mode

6. ZAP 的 Scope 設定

  1. 新增一個Context,主要是存放我們自己的設定。

zap-create-context

  1. 因為我們測試的機器IP地址是172.23.138.63,因此我們可以設定Context的攻擊範圍只能在這個IP底下。

zap-context-set-regex

7. 產生弱點報告

  1. 上方工具列Report-> Generate Report,我們就能產生弱點的報告了。

zap-generate-report

結論

OWASP ZAP 是一款免費且功能強大的 Web 安全測試工具,適合開發者與資安專家使用。透過 ZAP 的被動與主動掃描,你可以輕鬆發現並修正網站的安全漏洞,提升 Web 應用程式的防禦能力。如果你還沒有使用過 ZAP,現在就是最佳時機來學習並保護你的應用程式!