安全性測試:OWASP ZAP 2.8 使用指南(二):ZAP基礎操作

  • 2019 年 10 月 3 日
  • 筆記

ZAP桌面應用

ZAP桌面應用的UI由以下元素組成:

1. 菜單欄  – 提供多種自動化和手動工具的訪問

2. 工具欄  – 提供快速訪問最常用組件的用戶介面

3. 樹結構窗口  – 展示被測網站樹結構和腳本樹

4. 工作站窗口  – 展示請求,回饋以及腳本,並且允許編輯他們

5. 資訊窗口 – 展示工具執行的詳細結果

6. 頁腳 – 展示主要自動工具的執行狀態以及警告的匯總

 

 

在使用ZAP時,你可以點擊菜單欄中的幫助或者按F1來查看ZAP桌面應用的用戶指引。

更多資訊請查看ZAP在線幫助文檔。

ZAP也支援API和命令行運行的功能,不過本文中暫不討論。
 

重要:

只可以在當你有權使用主動攻擊的方式測試某一應用時才可以使用ZAP。

因為ZAP的運作方式會讓應用如同遭受真實攻擊,應用的功能和數據都有可能因此受損。

如果你擔心使用ZAP會給被測應用帶來風險,你可以切換到安全模式(ZAP的可用功能會大大減少)。

要切換成安全模式,點擊主菜單欄的“模式”下拉菜單選擇安全模式。

 

運行自動掃描

最簡單使用ZAP的方式就是通過快速開始菜單。

快速開始是在你安裝ZAP時默認添加的一個附加組件。

要執行一次快速開始的自動掃描:

1. 啟動ZAP並且在工作站窗口中點擊快速開始。

2. 點擊自動掃描按鈕。

3. 在URL欄中,填入將被掃描的Web應用的URL。

4. 點擊“攻擊”按鈕。

 ZAP會進一步使用爬蟲技術爬取Web應用,並且被動掃描爬到的每一個頁面。

然後ZAP會使用主動掃描器去攻擊所有發現的頁面、功能和參數。

ZAP提供了兩種用來爬取Web應用的爬蟲,用戶可以選擇使用。

傳統的ZAP爬蟲會通過Web應用回饋的HTML查找鏈接。

這種爬蟲速度快,但是對於使用AJAX技術通過JavaScript來生成鏈接的應用而言,顯得不那麼有效。

對於AJAX應用,ZAP的AJAX爬蟲會更加有效。這種爬蟲會通過喚起瀏覽器進程來探索Web應用,並且會追蹤動態生成的鏈接。

AJAX爬蟲比傳統爬蟲速度要慢,並且在無介面模式下要求進一步配置才能使用。

 

ZAP會被動掃描所有以代理形式接收到的請求和回饋。

到這一步為止,ZAP還只做了被動掃描。被動掃描不會以任何形式改動任何回饋資訊,所以相對是安全的。

這種掃描是在後台執行緒中執行的,並不會減緩掃描速度。

被動掃描有助於發現部分問題,並且提供一些基礎的Web安全性資訊,幫助進一步確定測試方向。

 

主動掃描,則會通過一些預設的攻擊來達到發現更多漏洞的目的。

對於被測目標而言,主動掃描會發起真實的、可能造成損失的攻擊。

所以不要對你沒有測試許可權的目標進行主動掃描。

 

解讀測試結果

當ZAP爬取你的Web應用時,他會創建這個應用的頁面結構圖,以及載入這些頁面用到的資源文件。

然後他會記錄每個頁面的請求和回饋,並且就這些請求和回饋中可能的安全性問題發出警告。

在ZAP的站點視圖裡,我們可以以樹結構查看掃描到的所有URL。

 

查看警告和警告詳情。

頁腳的左手邊列出了在測試過程中發現的警告數目,以不同的風險級別歸類。

這些風險類型是:

 

要查看測試中的警告資訊:

1. 在資訊窗口中點擊警告標籤

2. 點擊單個警告,將在右側資訊窗口展示被測URL以及所發現的漏洞

3. 在工作台窗口,可以查看請求回饋的頭部和回饋體,有漏洞的部分將被高亮顯示。

 

手動掃描應用

被動掃描和自動攻擊功能對於開始檢查你的Web應用漏洞時一個很好的方法,但是也有很多局限。

比如:

  •  任何需要用戶鑒權的頁面都無法被被動掃描,除非你配置了ZAP的鑒權功能,否則ZAP不會處理所需的許可權授權。

  •  對於被動掃描和自動攻擊所執行的攻擊類型而言,測試人員並無太多控制能力。事實上ZAP還提供了多種掃描和攻擊能力。

爬蟲可以很好的基本探索一個站點,但是只有結合手動探索才能更高效。

舉個例子來說,爬蟲在遇到表單時,只會填入基本的默認資訊。但是用戶可以填寫更相關的資訊,這樣又可以為ZAP提供更多該站點的資訊。

對於需要真實郵件地址來完成註冊的頁面以及類似的頁面尤其如此。

爬蟲可能會填入隨機字串,然後得到報錯。

用戶則可以根據報錯提供合法輸入,這樣當表單正確提交後,又有更多站點的內容可以被訪問並被爬取到。

 

你應該在ZAP代理下訪問你的整個Web應用。

這樣做的好處是,當你手動訪問站點時,ZAP會被動掃描訪問過程中觸發的請求和回饋,並檢查其中的漏洞,進一步完成站點樹結構,記錄掃描到的所有漏洞警告。

讓ZAP訪問到你的Web應用的所有頁面是很重要的,以求探明所有頁面之間的鏈接。

如果存在隱藏的頁面,這是不安全的,因為這些頁面可能在沒有被注意的情況下就被發布上線。

所以在手動訪問站點時,儘可能做到全面。

通過快速開始菜單,你可以快速的啟動ZAP代理的瀏覽器。

通過這種方式打開的瀏覽器也會無視任何證書警告。

 

 

 

手動訪問站點:

1. 啟動ZAP,點擊工作台窗口中的快速開始按鈕

2. 點擊手動訪問

3. 在URL框體內填入要訪問的URL

4. 選擇要使用的瀏覽器

5. 點擊啟動瀏覽器按鈕

 

這樣可以以全新的用戶配置(profile)啟動你安裝的瀏覽器。

如果你想帶上已有的用戶配置,比如說已安裝的瀏覽器插件等,那麼你只能手動啟動瀏覽器,並且配置其以ZAP為代理,導入和信任ZAP Root CA證書。