機緣巧合,最近接觸了一款開源的web安全工具OWASP ZAP,著實眼前一亮。操作簡單易用、功能齊全、插件種類豐富,具備代理、數據截斷、掃描、主動攻擊、爬蟲、fuzzing、滲透測試等多樣的安全測試功能,相比于商業版的Burp Suite和AppScan工具,OWASP ZAP不乏為一款不錯的商用版替代工具,也是安全人員入門的極佳體驗工具。本文將根據OWASP ZAP工具特性,分別將其與Burp Suite、AppScan工具進行對比,來感受該工具的強大功能。
OWASP ZAP(全稱OWASP Zed Attack Proxy)是由全球性安全組織OWASP推出并定期維護更新的一款開源工具,ZAP專為測試Web應用程序而設計,并且既靈活又可擴展,它是以架設代理的形式來實現滲透性測試,他將自己置于用戶瀏覽器和服務器中間,充當一個中間人的角色,瀏覽器所有與服務器的交互都要經過ZAP,這樣ZAP就可以獲得所有這些交互的信息,并且可以對他們進行分析、掃描、甚至是改包再發送。
首先通過下表直觀對比下三款工具對于常用功能的具備情況:
相信小伙伴們看完表格也會不禁感嘆一下OWASP ZAP工具的功能之齊全。Burp Suite主要依托于其強大的插件集成,擅長于通過攔截、修改、重放數據包方式挖掘漏洞,Appscan Srandard為一款安全掃描工具,可自動化檢測目標網站的漏洞情況,掃描功能完善且漏洞挖掘能力較強、漏洞處理建議完備。前兩者均為商業型工具,ZAP則結合了二者的特性,依托OWASP組織強大的實力背景,逐步演變成了一款功能齊全、開放性的工具。接下來,針對不同特性,將ZAP分別與這兩款工具進行功能對比。
1.OWASP ZAP與Burp Suite
1.1 工作空間保存
Burp Suite支持臨時保存項目、新建項目、打開已存項目三種方式,可對工作空間進行管理。
ZAP通過保存會話的方式同樣可以選擇將測試過程中所有內容進行留存。
1.2 基礎頁面
Burp Suite頁面分為多個頁簽,其中Target頁面中①陳列出捕獲到的站點目錄,②展示某個站點抓取到的流量數據,選中某個數據后在③中顯示其請求和響應報文,④展示被動掃描發現的缺陷,⑤為缺陷具體詳情。
ZAP頁面除常規的菜單欄、工具欄外,①陳列出捕獲到的站點目錄,②③為選中的某條數據的請求或響應報文(分頁顯示報文頭和報文內容),④實時展現捕獲的數據流量,⑤展示工具的執行狀態以及警告的匯總。
1.3 代理設置
Burp Suite中的Proxy模塊作為其核心功能,攔截HTTP/S的代理服務器,作為一個在瀏覽器和目標應用程序之間的中間人,允許攔截、查看、修改在兩個方向上的原始數據流。
ZAP同樣采用架設代理的方式,其代理配置在設置的Local Proxies中,默認設置為127.0.0.1:8080。
1.4 請求與響應
Burp Suite中Target模塊可展示所有抓取的流量數據的請求和響應報文,并分頁簽顯示。
ZAP中同樣可展示所有數據流量的請求和響應報文,并且可選擇多樣式視圖。
1.5 報文截斷
Burp Suite具備對報文攔截、查看、修改等多種操作,使用上靈活方便,算是工具最出彩的一部分功能。
ZAP同樣具備報文的查看、截斷、修改等功能,但截斷再發送后等待的響應時間稍微較長,整體不如Burp Suite敏捷。
1.6 暴力破解
Burp Suite的爆破功能在Intruder頁簽中完成,這部分可實現定制化的功能,通過添加payload(XSS,SQLI等等)來實現一個自動化的攻擊或是密碼爆破。
ZAP的爆破是在Fuzzer中實現,同樣可對選定參數添加定制化的字典進行大量的攻擊操作,并且Fuzzer中自帶了許多漏洞的payload。
1.7 編碼和解碼
Burp Suite中Decoder頁簽可對報文內容進行編碼和解碼,支持多種加解密方式。
ZAP中通過選中需要字段,然后右鍵選擇編解碼可對報文中內容記性編碼、解碼、哈希操作。
以上是Burp Suite工具比較具有代表性的功能,并且Burp Suite和ZAP同樣含有豐富的插件,并提供API,開發者可定制自己的程序。對于漏洞掃描,這三個工具都具備自動化的掃描功能,但是Burp Suite的掃描功能目前不如Appscan全面,因此接下來將主要對比下ZAP與Appscan的掃描功能情況。
2.OWASP ZAP與AppScan Standard
2.1 爬蟲
Appscan中將爬蟲操作稱為"探索",利用網頁發送和返回的內容都是統一的語言 html,通過對 HTML 語言進行分析,找到里面的參數和鏈接,記錄并繼續發送之,進而對網站結構進行爬取。
ZAP中支持兩種爬蟲方式,一個是傳統的爬蟲技術,另一種是ajax爬蟲。ajax技術是通過JAVAScript來生成鏈接,ZAP的ajax爬蟲通過喚起瀏覽器進程來探索Web應用,并且會追蹤動態生成的鏈接。
2.2 策略配置
Appscan支持全面的掃描配置,針對不同的掃描目標,可配置不同的掃描策略、測試策略。
ZAP可根據情況自定義掃描策略,策略中包含報警閥值和攻擊強度兩個參數,且可以分別對信息收集、客戶端瀏覽器、服務器安全、雜項、注入等多各方面分別進行配置。
2.3 掃描
"掃描規則庫"、"探索"、"測試"構成了AppScan的核心三要素。ZAP支持自動掃描和手動掃描兩種測試方式,并提供Appscan(Web應用)和外部設備/客戶機(Appscan作為記錄代理)兩種探索方式。
ZAP支持主動掃描和被動掃描兩種方式,可根據測試目標情況,選取相應的測試方式。被動掃描可對所有以代理形式接收到的請求和響應報文進行自動檢測,它不會以任何形式改動任何反饋信息,可以提供一些基礎的Web安全性信息。主動掃描提供自動掃描和手動掃描兩種方式,會通過一些預設的攻擊來達到發現更多漏洞的目的,對于被測目標而言,主動掃描會發起真實的、可能造成損失的攻擊。
下圖為兩個工具實時記錄掃描進度和掃描內容。
2.4 掃描結果查看
Appscan工具提供完備的漏洞詳情,包括漏洞類型、數量、涉及的URL、在報文的具體位置、問題詳情、修訂建議等,可方便使用者確認漏洞是否真實存在。
ZAP工具在alert(警報)頁簽展示漏洞詳情。所有風險項可以展開,ZAP在右側窗口會對該風險項提供說明和解釋,并且在右上部response區域高亮展示具體風險項由來(從響應中分析得出的)。
2.5 重放
重放操作是確認漏洞是否報告有誤的有效方式,Appscan可對檢測的漏洞再次進行手動測試。
ZAP基本具備和Appscan相同結構的重放功能,并且可對報文進行編輯。
綜上可看出,OWASP ZAP工具基本具備Burp Suite和Appscan的主要安全測試功能,但其自身也存在多處不足的地方,相比于Burp Suite,其抓包、改包等滲透測試功能上操作不如Burp Suite靈活多樣;相對于Appscan,其掃描更為輕量,即操作便捷、掃描迅速,然而漏洞挖掘情況不如Appscan更深層,但這一點兒也不影響人們對它的青睞,OWASP ZAP基本可以滿足安全測試所需的功能,并且作為一款免費的開源工具,對于學生黨或者安全入門人員絕對是一個不錯的選擇。
小伙伴們,趕快開始你的滲透測試生涯吧!