本文首發於:行者AI
Acunetix Web Vulnerability Scanner(AWVS)是用於測試和管理Web應用程序安全性的平台,能夠自動掃描互聯網或者本地局域網中是否存在漏洞,並報告漏洞。
1. AWVS簡介
Acunetix Web Vulnerability Scanner(AWVS)可以掃描任何通過Web瀏覽器訪問和遵循HTTP/HTTPS規則的Web站點。適用於任何中小型和大型企業的內聯網、外延網和面向客戶、雇員、廠商和其它人員的Web網站。
AWVS可以通過檢查SQL注入攻擊漏洞、XSS跨站腳本攻擊漏洞等漏洞來審核Web應用程序的安全性。
1.1 AWVS功能及特點
-
自動的客戶端腳本分析器,允許對Ajax和Web2.0應用程序進行安全性測試
-
業內最先進且深入的SQL注入和跨站腳本測試
-
高級滲透測試工具,例如HTPP Editor和HTTP Fuzzer
-
可視化宏記錄器幫助您輕松測試web表格和受密碼保護的區域
-
支持含有CAPTHCA的頁面,單個開始指令和Two Factor(雙因素)驗證機制
-
豐富的報告功能,包括VISA PCI依從性報告
-
高速的多線程掃描器輕松檢索成千上萬的頁面
-
智能爬行程序檢測web服務器類型和應用程序語言
-
Acunetix檢索並分析網站,包括flash內容,SOAP和AJAX
-
端口掃描web服務器並對在服務器上運行的網絡服務執行安全檢查
-
可到處網站漏洞文件
1.2 AWVS工作原理
-
掃描整個網絡,通過跟蹤站點上的所有鏈接和robots.txt來實現掃描,掃描后AWVS就會映射出站點的結構並顯示每個文件的細節信息。
-
在上述的發現階段或者掃描過程之后,AWVS就會自動地對所發現的每一個頁面發動一系列的漏洞攻擊,這實質上是模擬一個黑客的攻擊過程(用自定義的腳本去探測是否有漏洞) 。WVS分析每一個頁面中需要輸入數據的地方,進而嘗試3所有的輸入組合。這是一個自動掃描階段 。
-
在它發現漏洞之后,AWVS就會在“Alerts Node(警告節點)”中報告這些漏洞,每一個警告都包含着漏洞信息和如何修補漏洞的建議。
-
在一次掃描完成之后,它會將結果保存為文件以備日后分析以及與以前的掃描相比較,使用報告工具,就可以創建一個專業的報告來總結這次掃描。
2. AWVS安裝
(1)在官網下載awvs安裝包,此軟件為付費軟件試用期14天。目前版本已經迭代到Acunetix WVS13版本
(2)點擊安裝包執行安裝,勾選使用協議,執行下一步
(3)填寫郵件、密碼並執行下一步,這里的郵件及密碼會用於以后使用軟件的時候進行登錄驗證
(4)這一步填寫端口號,默認為3443,可以根據自己需求進行修改;詢問是否在桌面添加快捷方式,一般選擇是,選擇后執行下一步
(5)勾選創建桌面快捷方式,執行下一步完成安裝
3. AWVS的使用
3.1 AWVS頁面簡介
主菜單功能介紹:主菜單共有5個模塊,分別為Dashboard、Targets、Vulnerabilities、Scans和Reports。
- Dashboard:儀表盤,顯示掃描過的網站的漏洞信息
- Targets:目標網站,需要被掃描的網站
- Vulnerabilities:漏洞,顯示所有被掃描出來的網站漏洞
- Scans:掃描目標站點,從Target里面選擇目標站點進行掃描
- Reports:漏洞掃描完成后生成的報告
設置菜單功能介紹:設置菜單共有8個模塊,分別為Users、Scan Types、Network Scanner、Issue Trackers、Email Settings、Engines、Excluded Hours、Proxy Settings
- Users:用戶,添加網站的使用者、新增用戶身份驗證、用戶登錄會話和鎖定設置
- Scan Types:掃描類型,可根據需要勾選完全掃描、高風險漏洞、跨站點腳本漏洞、SQL 注入漏洞、弱密碼、僅爬網、惡意軟件掃描
- Network Scanner:網絡掃描儀,配置網絡信息包括地址、用戶名、密碼、端口、協議
- Issue Trackers:問題跟蹤器,可配置問題跟蹤平台如github、gitlab、JIRA等
- Email Settings:郵件設置,配置郵件發送信息
- Engines:引擎,引擎安裝刪除禁用設置
- Excluded Hours:掃描時間設置,可設置空閑時間掃描
- Proxy Settings:代理設置,設置代理服務器信息
3.2 使用AWVS掃描網站
- 添加網址,點擊Save
- 進入掃描設置頁面,根據項目需求,配置信息,點擊scan開始掃描
- 設置掃描選項,一般選擇全掃,也可以根據你的需求設置掃描類型,設置完成后執行掃描
- 執行掃描后,自動跳轉到儀表板,可以查看掃描過程中發現的漏洞情況
- 點擊Vulnerabilities進入漏洞列表頁面,這里可以導出掃描報告 AWVS將漏洞分為四級並用紅黃藍綠表示緊急程度,其中紅色表示高等、黃色表示中等、藍色表示低等、綠色表示信息類
- 點擊選擇一個漏洞,點擊進入可以看到AWVS給出的詳細描述 AWVS給出了漏洞詳細描述信息,包括:Vulnerability description(漏洞描述)、Attack Details(攻擊詳細信息)、HTTP Request (http請求)、HTTP Response (http響應)、The impact of this vulnerability(此漏洞的影響)、How to fix this vulnerability(如何修復此漏洞)、Classificationa(分類)、Detailed Information(詳細信息)、Web References web(引用)
Classification漏洞分類解釋
CWE:CommonWeakness Enumeration,是社區開發的常見軟件和硬件安全漏洞列表。它是一種通用語言,是安全工具的量尺,並且是弱點識別,緩解和預防工作的基准。
比如下圖中CWE-89表示的是 這個bug是CWE列表中第89號常見弱點:
CVSS: Common Vulnerability Scoring System,即“通用漏洞評分系統”,是一個“行業公開標准,其被設計用來評測漏洞的嚴重程度,並幫助確定所需反應的緊急度和重要度”。
CVSS評分系統中規定:漏洞的最終得分最大為10,最小為0。得分7-10分的漏洞通常被認為比較嚴重,得分在4-6.9分之間的是中級漏洞,0-3.9分的則是低級漏洞。其中,7~10分的漏洞都是必須要修復的。
下圖展示的是CVSS計算指標:
- 站點結構Site Structure查看每個模塊的漏洞情況,便於及時定位問題
3.3 AWVS導出報告
- 在Scans頁面選擇報告類型,點擊導出
- 在Reports頁面可選擇要下載的報告格式類型,包括pdf和html AWVS在掃描結束后還可以根據不同要求不同閱讀方式,可生成不同類型的報告和細則,然后點擊導出報告圖標即可導出此次安全掃描報告。
4. 驗證漏洞的真實性
根據針對公司多個項目的掃描,得到了幾種常見的漏洞情況,以下是這幾種漏洞的驗證方法:
4.1 SQL盲注/SQL注入
驗證方法:利用sqlmap,GET、POST方式可以直接sqlmap -u "url",cookie SQL注入新建txt文檔把請求包大數據復制粘貼到里面,再利用sqlmap -r "xxx.txt",查尋是否存在注入點。
sqlmap使用教程可參考:https://www.acunetix.com/vulnerability-scanner/
4.2 CSRF跨站偽造請求攻擊
CSRF,利用已登錄的用戶身份,以用戶的名義發送惡意請求,完成非法操作。
舉例說明:用戶如果瀏覽並信任了存在CSRF漏洞的網站A,瀏覽器產生了相應的cookie,用戶在沒有退出該網站的情況下,訪問了危險網站B 。危險網站B要求訪問網站A,發出一個請求。瀏覽器帶着用戶的cookie信息訪問了網站A,因為網站A不知道是用戶自身發出的請求還是危險網站B發出的請求,所以就會處理危險網站B的請求,這樣就完成了模擬用戶操作的目的。
驗證方法:
-
同個瀏覽器打開兩個頁面,一個頁面權限失效后,另一個頁面是否可操作成功,如果仍然能操作成功即存在風險。
-
使用工具發送請求,在http請求頭中不加入referer字段,檢驗返回消息的應答,應該重新定位到錯誤界面或者登錄界面。
4.3 HTTP緩慢拒絕服務攻擊
HTTP緩慢拒絕服務攻擊是指以極低的速度往服務器發送HTTP請求。由於Web Server對於並發的連接數都有一定的上限,因此若是惡意地占用住這些連接不釋放,那么Web Server的所有連接都將被惡意連接占用,從而無法接受新的請求,導致拒絕服務。要保持住這個連接,RSnake構造了一個畸形的HTTP請求,准確地說,是一個不完整的HTTP請求。
驗證方法可參考:https://www.acunetix.com/vulnerability-scanner/
4.4 源代碼泄露
攻擊者可以通過分析源代碼來收集敏感信息(數據庫連接字符串、應用程序邏輯)。此信息可用於進行進一步攻擊。
驗證方法:在url后加/.svn/all-wcprops或者使用工具SvnExploit測試,例如:
4.5 文件信息泄露
開發人員很容易上傳一些敏感信息如:郵箱信息、SVN信息、內部賬號及密碼、數據庫連接信息、服務器配置信息,導致文件信息泄露。
驗證方法可參考:https://www.acunetix.com/vulnerability-scanner/
5. 總結
AWVS給出的掃描結果並不代表完全真實可靠,還需要依靠人工再次驗證判斷。在AWVS掃描結果基礎上,根據不同的嚴重級別進行排序、手工+工具驗證的方式對漏洞驗證可靠性,排除誤報的情況,並盡可能找出漏報的情況,把本次掃描結果匯總,對以上已驗證存在的安全漏洞排列優先級、漏洞威脅程度,並提出每個漏洞的修復建議。總的來說我們可以借助這個工具來進行掃描分析,但不能完全依賴於這個工具。
PS:更多技術干貨,快關注【公眾號 | xingzhe_ai】,與行者一起討論吧!