Pentest Toolkit - Zed Attack Proxy (ZAP)
什麼是 OWASP ZAP?
OWASP ZAP 由 OWASP (Open Web Application Security Project) 開發,是目前最受歡迎的 Web 應用安全掃描工具之一。它適合初學者與資安專家,提供 被動掃描 和 主動攻擊測試 兩種模式。
ZAP 的主要功能
- 被動掃描 (Passive Scanning):
- 當你瀏覽網站時,ZAP 會自動分析請求與回應,找出 潛在漏洞。
- 主動掃描 (Active Scanning):
- ZAP 會模擬駭客攻擊,例如 SQL Injection、XSS、弱身份驗證機制等。
- 手動測試 (Manual Testing):
- 你可以使用 Proxy 攔截請求,手動修改參數進行測試。
- Fuzzer (模糊測試):
- 自動輸入隨機或特定測試數據,檢測應用程式對異常輸入的反應。
- 爬取網站 (Spider & AJAX Spider):
- 幫助測試人員快速發現網站內部的所有頁面與 API 端點。
ZAP 四種掃描模式
- Safe Mode:禁止所有潛在的攻擊行為,確保操作安全。
- Protected Mode:僅允許在設定範圍 (Scope) 內執行攻擊,避免影響未授權的目標。
- Standard Mode:使用者可自由執行所有類型的攻擊行為。
- ATTACK Mode:當設定範圍內偵測到新的網站節點時,ZAP 會自動對其執行主動掃描 (Active Scan)。
我們建議使用 Protected Mode,透過預先定義攻擊範圍 (Scope) 來限制掃描範圍,以防止攻擊未授權的網站。
如何使用 OWASP ZAP 來發現漏洞?
1. 安裝與啟 動 ZAP
- 前往 OWASP ZAP 官方網站 下載並安裝。
- 啟動 ZAP,選擇「標準模式 (Standard Mode)」。
2. 開啟 ZAP
- 因為我們不需要儲存這次所有測試內容,因此選擇第三個。
3. 設定 Proxy
- 啟動 ZAP 之後,我們可以從 Tools -> Options。
- 在 Network -> Local Servers/Proxies 中確認代理的位址和 Port 號,如果 8080Port 用過可以換其他的。
- 接著我們使用Proxy SwitchyOmega 這個 google 套件幫我們進行 Proxy,讓我們可以輕鬆連線到 ZAP。
- 接著在他的設定中填寫 ZAP 的 Proxy,這樣封包就可以被 ZAP 攔截,我們也能夠分析。
4. 設定憑證
- 開啟 Proxy SwitchyOmega 後,我們連像 google 會發現出現連線不安全,原因是中間多了 ZAP 這個 Proxy,我們需要把他的憑證也加入到信任憑證中。
- 我們回到 ZAP 的 Tools -> Options -> Network -> ServerCertificates,就可以發現憑證,並儲存起來。
- 我們在 Windows 中新增信任的根憑證,並且匯入剛剛儲存的檔案,接著安下一步到底就可以了,最後按下是即可。
- 這個時候瀏覽頁面就不會被擋了
5. ZAP 模式設定
- 我們僅希望在我們定義的 Scope 進行攻擊,避免誤傷其他人,因此選擇 Protected Mode。
6. ZAP 的 Scope 設定
- 新增一個Context,主要是存放我們自己的設定。
- 因為我們測試的機器IP地址是
172.23.138.63
,因此我們可以設定Context的攻擊範圍只能在這個IP底下。
7. 產生弱點報告
- 上方工具列Report-> Generate Report,我們就能產生弱點的報告了。
結論
OWASP ZAP 是一款免費且功能強大的 Web 安全測試工具,適合開發者與資安專家使用。透過 ZAP 的被動與主動掃描,你可以輕鬆發現並修正網站的安全漏洞,提升 Web 應用程式的防禦能力。如果你還沒有使用過 ZAP,現在就是最佳時機來學習並保護你的應用程式!