對于網站管理員來說,在創建和維護網站運行過程中,最擔心的就是來自黑客的惡意攻擊。對于黑客來說,在確定了攻擊的目標網站后,會先使用各種掃描工具,來全面的檢測該網站是否存在漏洞。當發現了可以利用的漏洞后,黑客才會使用相應的手段對其進行滲透和攻擊。在一般情況下,管理員只有在發現網站被黑客破壞后才會著手修復網站漏洞,這其實比較被動,為提高防御靈活性,管理員可以未雨綢繆,使用強悍掃描工具,對網站進行安全檢測,及時發現并修復潛在的漏洞,不給黑客以可乘之機。

圖1 開啟新的掃描項目
使 用Acunetix Web Vulnerability Scanner(AWVS) 掃描工具可讓網站的漏洞徹底顯示在管理員面前。在AWVS主界面工具欄中點擊“New Scan”按鈕,如圖 1,在新建掃描向導窗中選擇“Scan Single Website”選項,輸入要檢測的網站。如果想同時掃描多個網站,可以點擊窗口底部的“http://localhost:8181”鏈接,打開Web方式的掃描界面,點擊其中的“+Schedule New Scan”選項,選擇“掃描類型”選項,輸入目標網站等信息,點擊“OK”按鈕,來執行具體的掃描操作。
這里選擇前者,在“下一步”窗口中的“Scaning Profile”列表中選擇“掃描策略”,包括“AcuSebsor”(交互式應用安全檢測)、“Bind_SQL_Injection”(SQL盲注測試)、“CSRF”(跨站請求偽造)、“Default”(默認檢測所有漏洞)等。在“Scan Settings”欄中點擊“Customize”按鈕,可以自定義掃描規則,默認為“Default”。
依次點擊“下一步”按鈕,在“Target”窗口中會顯示該網站的基本信息,例如服務器Banner、系統類型、Web服務器版本等內容。打開“Optimize for Following Technologies”欄,在列表中選擇目標網站的類型,例如ASP、PHP、ASP.NET、Python和Perl等。這樣可以實現更加精準的掃描。
如果掃描的網站(例如辦公網站等)需要預先登錄的話,還需要在“下一步”窗口中點擊“New Login Sequence”按鈕,登錄到目標網站中,為之后的掃描做好準備。當在AWVS對網站構成元素分析完成后,點擊“Finish”按鈕,就可以執行具體的掃描操作了。在AWVS主界面的“Scan Results”信息欄中顯示掃描的各種信息。
當掃描完成后,在報告界面中的“Web Alerts”列表顯示該網站的安全漏洞和潛在的安全風險項目,在“Site Structure”列表同時顯示其詳細的目錄和文件結構以及對應的風險信息。選擇對應的安全漏洞(例如“Cross Sitr Script”,“Blind SQL Injection”等)項目,在右側顯示其具體的說明信息。在“Web Alerts”列表中打開選擇的安全漏洞項目,可以列出屬于該漏洞的所有風險信息。在右側的“Alerts Summary”欄中顯示發現的風險信息的數量,其中紅色“High”欄顯示高危漏洞數量,橘色的“Medium”欄中表示中等危險漏洞數量,藍色“Low”欄中顯示一般的風險漏洞數量,綠色的“Information”欄表示一般的存在泄漏信息風險的信息項目。
“Target Information”欄中顯示目標網站的基本描述信息,在“Statistcs”欄中顯示掃描統計信息,在“Progress”欄中顯示掃描進度信息。根據這些檢測信息,管理員就可以對網站存在的各種漏洞做到心中有數,進而有的放矢的采取各種措施,來修復這些漏洞,讓網站的安全風險降至最低。為了便于保存掃描信息,可以點擊保存按鈕,將其導出了獨立的文件(后綴為“.wvs”)。之后可以隨時雙擊該文件,在AWVS中將其打開。
合理的配置掃描規則,可以提高掃描的速度和準確性。在AWVS主界面左側依次 點 擊“Configuration”、“Scan Settings”選項,在右側選擇“Scanning Options”選 項, 選 擇“Disable Alert Generate by Crawler”選 項,禁止產生無關的錯誤 提 示。 在“Scan mode”列表中提供了“Quick”(快速掃描)、“Heuristic”(標準掃描)以及“Extensive”(完全掃描)等掃描模式,其掃描速度依次降低,但是掃描的深度卻依次增加,掃描的精確度也依次增加,可以根據需要進行選擇。在“Limit Crawl Recursion X Iteratuions”欄中設置針對目標網站目錄層級的探測深度,默認為5。選擇“Enable Port Scanning”選項可允許端口掃描。選擇“Collect Uncommon HTTP Requests”選項,開啟收集非標準HTTP請求信息。在“List of Hosts Allowed”拉面中可以啟用子域名掃描功能,輸入子域名,點擊“Add Host”按鈕,將其添加到列表中。如圖2所示。這樣,可以實現針對子域名/分站點的掃描操作。

圖2 配置掃描參數
在窗口中部選擇“Headers and Cookies”項,在右側選擇“Test Cookie for All Files”項,可以探測所有文件的Cookie信息。例如可以針對所有網站訪問連接產生的Cookie信息進行記錄,從而得到更詳細的信息。點擊“Add Header”按鈕,可以添加新的HTTP頭信息項目,使掃描結果更加準確。對于不同的網站來說,其使用HTTP頭部信息存在差異。例如使用HTTPWatch這一抓包工具,可以記錄在訪問目標網站時使用到的HTTP頭部信息。在中部選擇“Parameter Exclusions”項,在右側可以設置包含的參數,包括地址、名稱、類型、動作等,例如可以將名稱為“PHPSESSION”參數排除在外,避免其影響正常的掃描操作。點擊“Remove Selected”按鈕,可以刪除選定的參數信息,即允許掃描該參數信息。這對于掃描一些特殊的網站比較有用。
例如按照上述格式,輸 入“*”、“ASPXSESSION”、“Any”、“Exclude from Scan” 項,點擊“Add Exclusion”按鈕,可以將所有包含“ASPXSESSION”的網頁排除在掃描范圍之外。在中部選擇“Crawling Options”項,在右側可以依次設置針對目標網站目錄和文件層級的項目,依次包括當網站目錄結構掃描之后啟動HTTP Sniffer來發現更多的鏈接,只掃描首頁,不抓取上級目錄,抓取子目錄,抓取所有URL(即使該URL并沒有體現在網站上),抓取并分析robots.txt、sitemap.xml中的URL,忽略大小寫敏感,分析動態腳本以獲得更多URL,抓取外部腳本內容,嘗試抓取每個目錄下的默認文檔,防止抓取到無限目錄,如果發現重定向則提示用戶,忽略js/css等文件的參數,禁用自動判斷404頁面功能,將www和純域名識別為不同的主機、文件參數的最大變化范圍、鏈接最大深度、子目錄最大深度、子目錄的最大數量、目錄中的最大文件數量、判斷路徑任務的最大任務數、搜索的最大文件數等。
在中部選擇“File Exclusion Filter”選項,在右側設置檢測和排除的文件類型,這樣可以提高文件搜索的速度。選擇“Directory and File Filters”選 項,在右側設置需要排除掃描的網站目錄。選擇“URL Rewrite”選項,在右側可以設置網址的重寫規則。在中部選擇“HTTP Options”選項,在右側的“User Agent String”列表中選擇用戶的User Agent信息,讓服務器可以返回合適的回應信息。 在“Limit Number of Parallel Connections”欄中設置最大并發連接數。在“HTTP Request Timeout in Seconds”欄中設置超時時間。在“Delay between Consecutive Requests in Milliseconds”欄中設置請求延時,在“HTTP Response Size Limit in Kilobytes”欄中設置請求的文件的最大體積,在“Custom HTTP Headers”欄中可以自定義HTTP頭信息。如果是使用HTTP或者SOCKS代理上網的話,在中部選擇“LAN Settings”選項,設置所需的代理信息。
選擇“Custom Cookies”選項,在右側可以自定義Cookie,來實現預登錄功能。 選 擇“Input Fileds”選項,在右側可以設置表單項的默認值信息,例如用戶名和密碼項等信息。這樣當執行掃描時,可以在表單上自動填充對應項目的預設值。在列表中顯示AWVS自帶的表單項目,其中的“${alpharand}”正則表達式表示隨機字符串,“$[numrand}”表示隨機數字,“${alphanumrand}” 則表示隨機數字和隨機字符串等。這樣,可以實現靈活的表單項填充功能。選擇“Port Scanner”選項,在右側的“Number of Sockets Used for Scanning”欄中設置掃描線程數量,在“Connection Timeout”欄中設置超時時間,在列表中顯示掃描的端口信息,可根據需要來進行選擇或者更改端口號。
當設置好所需的掃描參數后,可以點擊“Apply”按鈕,保存配置信息。當然,為了便于使用,可以先點擊參數設置界面工具欄上的“新建”按鈕,創建新的參數配置文件,之后再執行具體的配置操作。這樣,可以針對不同的掃描環境,靈活的使用不同的掃描參數。
當然,在掃描某些網站時,可能需要進行登錄操作,為了便于操作,可以點擊 菜 單“Configuration”、“A p p l i c a t i o n s” 選項,在 其 中 點 擊“HTTP Authentication”選項,在右側點擊“Add Credentials”項,輸入賬戶名和密碼,并設置好主機的網站以及路徑路徑(例 如“xxx.com/admin/”等),這樣,即可以在執行掃描時順利的完成登錄操作。
此外,也可以點擊“Login Sequence Manager”選項,在向導界面中輸入具體的登錄地址(例如“http:.//www.xxx.com/admin/login.asp”等),點擊“下一步”,執行登錄操作,當登錄完成后,AWVS就可以將整個的登錄環節完整記錄下來。之后進行掃描時,就可以非常順利的對目標網站進行深入分析了。