專為復(fù)雜web環(huán)境設(shè)計(jì)的安全掃描器UnisWebScanner
【51CTO.com 綜合消息】隨著各種各樣的Web應(yīng)用(電子商務(wù)、論壇、新聞、博客等)不斷進(jìn)入人們的生活,越來(lái)越多的動(dòng)態(tài)元素被加入到Web建設(shè)中來(lái)。表單、登錄、信息發(fā)布等動(dòng)態(tài)內(nèi)容允許訪問(wèn)者獲得和提交動(dòng)態(tài)的內(nèi)容,如果這些Web應(yīng)用存在不安全的隱患,那么整個(gè)數(shù)據(jù)庫(kù)甚至是Web站點(diǎn)系統(tǒng)都會(huì)面臨安全風(fēng)險(xiǎn)。據(jù)統(tǒng)計(jì),目前75%的網(wǎng)絡(luò)攻擊行為都是通過(guò)Web來(lái)進(jìn)行的。
對(duì)Web應(yīng)用的安全性進(jìn)行手工測(cè)試和審計(jì)是一項(xiàng)復(fù)雜且耗時(shí)的工作,不僅需要極大的耐心還需要專業(yè)的技術(shù)經(jīng)驗(yàn)。對(duì)于一般的Web管理人員來(lái)說(shuō),基于安全的管理將占用大量工作時(shí)間。自動(dòng)化的漏洞掃描工具能夠大幅簡(jiǎn)化對(duì)于未知安全隱患的檢測(cè)工作,有助于Web管理人員將精力轉(zhuǎn)向如何處理安全風(fēng)險(xiǎn)上。
UnisWebScanner 專為當(dāng)前復(fù)雜的Web環(huán)境而設(shè)計(jì),作為自動(dòng)化的Web應(yīng)用安全檢測(cè)工具,能夠?qū)QL注入、XSS、網(wǎng)站掛馬、敏感信息泄漏等風(fēng)險(xiǎn)進(jìn)行全面審計(jì),適用于通過(guò)internet、intranet、extranet進(jìn)行網(wǎng)上交易或信息發(fā)布的大、中、小型應(yīng)用,如金融、證券、政府、電子商務(wù)、電信運(yùn)營(yíng)商、基金、網(wǎng)游、科研院所等各類企事業(yè)單位。
結(jié)構(gòu)說(shuō)明
【UnisWebScanner主界面】
![]() |
圖 1 主界面 |
【掃描引擎】
用于對(duì)網(wǎng)站進(jìn)行安全掃描,包含2個(gè)步驟:
爬蟲(chóng) —— 自動(dòng)分析網(wǎng)站,輸出網(wǎng)站結(jié)構(gòu)。
掃描 —— 從攻擊者角度思考,智能化掃描。
【漏洞驗(yàn)證】
如果發(fā)現(xiàn)有注入點(diǎn),可以通過(guò)漏洞驗(yàn)證模塊猜測(cè)數(shù)據(jù)庫(kù)類型、枚舉數(shù)據(jù)庫(kù)、表、讀取系統(tǒng)文件等。
【輔助工具】
代理測(cè)試臺(tái)提供代理的功能,幫助您截獲、檢查和修改HTTP客戶端到Web服務(wù)器的通信,如分析Session ID、越過(guò)客戶端javascript驗(yàn)證等。
3.5產(chǎn)品許可證
您需要注冊(cè)后才可使用UnisWebScanner的全部功能。欲購(gòu)買產(chǎn)品許可證,請(qǐng)聯(lián)系產(chǎn)品提供商。 #p#
一、安裝部署
1.安裝需求
![]() |
表1 |
2.安裝過(guò)程
獲得產(chǎn)品
從產(chǎn)品提供商獲得產(chǎn)品及使用手冊(cè)。
安裝
運(yùn)行安裝程序,直到安裝完成。
提供必要的注冊(cè)信息
在“關(guān)于”->“用戶注冊(cè)”對(duì)話框中獲取系統(tǒng)信息,并提供自己的名稱和網(wǎng)站域名授權(quán)信息。
獲得許可證
從產(chǎn)品提供商處獲得許可證。
注冊(cè)
在“關(guān)于”->“用戶注冊(cè)”輸入“用戶信息”和“注冊(cè)信息”。
升級(jí)插件在“關(guān)于”,點(diǎn)擊“升級(jí)”,更新漏洞庫(kù)、規(guī)則庫(kù)到最新版本。
3.卸載
可以在“添加/刪除程序”中卸載程序,也可以在開(kāi)始菜單中通過(guò)快捷方式進(jìn)行卸載。 #p#
二、使用說(shuō)明
注意事項(xiàng):根據(jù)中華人民共和國(guó)相關(guān)法律規(guī)定,本產(chǎn)品只適用于已獲得掃描授權(quán)的網(wǎng)站。任何違反法律規(guī)定的行為由使用者自行承擔(dān),與UnisWebScanner及開(kāi)發(fā)者無(wú)關(guān),特此聲明。
1.向?qū)?/STRONG>
為了方便用戶直接使用本產(chǎn)品的功能,UnisWebScanner提供了使用向?qū)В恍枘顚?xiě)或選擇一些必要的信息,就可以快速開(kāi)始(按照系統(tǒng)默認(rèn)配置,適用于大多數(shù)的應(yīng)用環(huán)境)進(jìn)行掃描。
2.網(wǎng)站掃描
網(wǎng)站掃描是本產(chǎn)品第一大功能,對(duì)網(wǎng)站的安全漏洞進(jìn)行檢測(cè),如:SQL注入、跨站腳本、網(wǎng)頁(yè)掛馬、敏感文件泄漏、敏感目錄泄漏及后臺(tái)管理信息泄漏等。
![]() |
圖2 網(wǎng)站掃描 |
對(duì)目標(biāo)網(wǎng)站進(jìn)行掃描時(shí),需要提供如下的必要信息:
1)輸入掃描網(wǎng)站的起始URL
XXX
XXX:80 等
2)輸入Cookie
有些網(wǎng)站需要輸入用戶名、密碼后才能登入,在掃描前需要將登陸后的Cookie填入,并將登陸后的URL輸入“起始URL”輸入框中;其他地方可不必填寫(xiě)。
3)選擇掃描策略
可以選擇特定的掃描策略模塊,也可以選擇全部掃描策略模塊(在“配置”->“策略配置”中選擇全部策略模塊中的例外模塊)。
4) 點(diǎn)擊“開(kāi)始”進(jìn)行掃描
掃描過(guò)程中右側(cè)的狀態(tài)窗口中會(huì)顯示進(jìn)度及數(shù)據(jù)統(tǒng)計(jì),下方日志窗口中顯示實(shí)時(shí)的日志信息和錯(cuò)誤信息。
5)終止掃描
點(diǎn)擊停止按鈕,注意查看下方的日志信息,程序會(huì)終止工作線程。
在整個(gè)掃描過(guò)程中,您可以通過(guò)掃描狀態(tài)欄看到當(dāng)前正在檢測(cè)的模塊,以及檢測(cè)結(jié)果的實(shí)時(shí)信息,如下圖所示:
![]() |
圖3 掃描信息 |
您可以在圖3中的漏洞統(tǒng)計(jì)信息中查看詳細(xì)的漏洞列表。為了便于查看,軟件將同一鏈接的漏洞進(jìn)行了歸類顯示,這樣可以很清楚的看到哪些鏈接存在安全隱患。如圖4和圖5所示。
![]() |
圖4 漏洞列表信息 |
![]() |
圖5 漏洞詳細(xì)信息 |
您可以右鍵點(diǎn)擊該漏洞,對(duì)該漏洞進(jìn)行驗(yàn)證,詳見(jiàn)漏洞驗(yàn)證相關(guān)章節(jié)。
![]() |
圖6 快捷驗(yàn)證漏洞 |
#p#
3.漏洞驗(yàn)證
3.1漏洞基本信息
漏洞基本信息的填寫(xiě)有兩種方式:一是右鍵點(diǎn)擊掃描結(jié)果中的注入漏洞列表,選擇驗(yàn)證漏洞,此時(shí)將自動(dòng)輸入漏洞信息;二是手工填寫(xiě)注入漏洞列表,需要填寫(xiě)如下參數(shù)。
![]() |
圖7 漏洞基本信息 |
1)鏈接
具有注入漏洞的鏈接地址,如果是GET方式,則該鏈接必須帶參數(shù),即:XXX/XX.XXX?XX=XXX,如果是POST方式則可以帶參數(shù)也可以不帶。
2)Cookie
同網(wǎng)站掃描部分的Cookie,請(qǐng)參考網(wǎng)站掃描部分關(guān)于Cookie的說(shuō)明。
3)方法
選擇GET或者POST
4)參數(shù)
此處為POST的參數(shù)
5)位置
此處為具有注入漏洞的參數(shù)的位置號(hào)
6)類型
注入漏洞的類型:整數(shù)型、字符串型以及搜索行,掃描結(jié)果中的注入漏洞列表中會(huì)提供相應(yīng)的信息,如果是手動(dòng)輸入,請(qǐng)手工確認(rèn)漏洞信息。
7)關(guān)鍵字
關(guān)鍵字必須通過(guò)人工的方式來(lái)確認(rèn)(可以通過(guò)本軟件的輔助工具中的手工測(cè)試臺(tái)),所謂關(guān)鍵字是指當(dāng)參數(shù)后面所跟條件為恒成立時(shí),網(wǎng)站反饋的網(wǎng)頁(yè)內(nèi)容中必然包含的字符串,并且是當(dāng)參數(shù)后面所跟條件為恒不成立時(shí),網(wǎng)站反饋的網(wǎng)頁(yè)內(nèi)容中必然不包含該字符串,則該字符串為關(guān)鍵字。【請(qǐng)注意閱讀此“關(guān)鍵字”部分】
8)數(shù)據(jù)庫(kù)類型
填入以上信息后,可以通過(guò)點(diǎn)擊猜測(cè)數(shù)據(jù)庫(kù)類型來(lái)進(jìn)行猜測(cè),根據(jù)數(shù)據(jù)庫(kù)不同的類型可以猜測(cè)相應(yīng)數(shù)據(jù)庫(kù)的屬性以及數(shù)據(jù)的內(nèi)容。
注意:
MSSQL With Error數(shù)據(jù)庫(kù)類型即后臺(tái)數(shù)據(jù)庫(kù)為MSSQL,并且WEB服務(wù)器支持錯(cuò)誤信息的反饋。
對(duì)于Access數(shù)據(jù)庫(kù)類型的猜測(cè)只支持帶錯(cuò)誤顯示的Web服務(wù)器。
3.2數(shù)據(jù)庫(kù)基本信息猜測(cè)
當(dāng)猜測(cè)完數(shù)據(jù)庫(kù)類型后,可以利用注入漏洞來(lái)猜測(cè)相應(yīng)數(shù)據(jù)庫(kù)的基本信息,如:數(shù)據(jù)庫(kù)名稱、版本、賬戶名稱等信息。
![]() |
圖8 數(shù)據(jù)庫(kù)基本信息 |
3.3數(shù)據(jù)庫(kù)內(nèi)容猜測(cè)
數(shù)據(jù)庫(kù)內(nèi)容的猜測(cè)有兩種方式:一是根據(jù)數(shù)據(jù)庫(kù)自身的字典進(jìn)行猜測(cè),Oracle、MSSQL、MSSQLWithError屬于該類型;二是通過(guò)外部字典方式來(lái)進(jìn)行猜解,Access屬于該類型,因此對(duì)Access數(shù)據(jù)庫(kù)的猜測(cè)依賴于外部字典的強(qiáng)大,本軟件默認(rèn)使用dict目錄下的字典文件,用戶可以編輯該文件以增強(qiáng)字典的功能。數(shù)據(jù)庫(kù)的猜測(cè)順序?yàn)椋翰聹y(cè)表名、猜測(cè)某一表的列名、猜測(cè)某一表某些列的內(nèi)容。為了提高猜測(cè)的性能以及準(zhǔn)確度,您需要填寫(xiě)如下信息。
1)編碼方式
猜測(cè)非中文字符一般不需要指定,采用默認(rèn)的ASCII碼方式即可,如果猜測(cè)結(jié)果出現(xiàn)亂碼或空字符,則可能是由于其中包含中文字符,此時(shí)需要更改編碼的方式,可以逐一嘗試,直到猜測(cè)到正確字符為止。
2)猜測(cè)條件
當(dāng)猜測(cè)表名、列名以及數(shù)據(jù)內(nèi)容時(shí),數(shù)據(jù)量過(guò)大,猜測(cè)可能需要花費(fèi)很長(zhǎng)的時(shí)間,這時(shí)可以通過(guò)設(shè)定限制條件來(lái)進(jìn)行過(guò)濾,如:猜測(cè)MSSQLServer數(shù)據(jù)庫(kù)的表名時(shí),可以輸入:name like '%user%' ,猜測(cè)Oracle數(shù)據(jù)庫(kù)表名時(shí),可以輸入:table_name like '%user%'。
![]() |
圖9 數(shù)據(jù)庫(kù)內(nèi)容 |
#p#
4.輔助工具
4.1手工測(cè)試
通過(guò)手動(dòng)的方式來(lái)定制發(fā)送到WEB服務(wù)器的參數(shù)獲取網(wǎng)頁(yè)內(nèi)容,通過(guò)這種方式可以測(cè)試漏洞、獲取關(guān)鍵字等。
![]() |
圖10 手動(dòng)測(cè)試臺(tái) |
其中:
HTTP頭,顯示服務(wù)器反饋的信息頭內(nèi)容。
網(wǎng)頁(yè)格式,顯示瀏覽器中顯示的內(nèi)容。
網(wǎng)頁(yè)源代碼,即為該網(wǎng)頁(yè)的原始代碼。
5.設(shè)置
通常情況下,軟件已經(jīng)默認(rèn)定制了通用的掃描方式和屬性,適應(yīng)大部分網(wǎng)站掃描。如果遇到一些特殊情況,可以通過(guò)設(shè)置來(lái)定制掃描方式和屬性。
5.1 HTTP選項(xiàng)設(shè)置
![]() |
圖11 HTTP配置選項(xiàng) |
UserAgent:掃描網(wǎng)站時(shí)在HTTP頭設(shè)置UserAgent的字符串,如果某些網(wǎng)站限制特定UserAgent的訪問(wèn),則需要修改默認(rèn)值。 頁(yè)面大小:當(dāng)遇到過(guò)大的網(wǎng)頁(yè)或者其他文件時(shí),網(wǎng)頁(yè)爬蟲(chóng)就不需要獲取,如,爬蟲(chóng)爬到某一比較大的avi文件時(shí),就不需要獲取其詳細(xì)內(nèi)容。 網(wǎng)絡(luò)超時(shí):您可以靈活設(shè)置。
5.2爬蟲(chóng)設(shè)置
![]() |
圖12 爬蟲(chóng)設(shè)置 |
文件后綴過(guò)濾:爬蟲(chóng)遇到一些二進(jìn)制文件,由于其中不可能會(huì)包含下一級(jí)的鏈接地址,因此不需要獲取其具體內(nèi)容。
表單內(nèi)容填寫(xiě):當(dāng)爬蟲(chóng)爬到一些需要用戶輸入的表單內(nèi)容時(shí),爬蟲(chóng)需要自動(dòng)填寫(xiě)的內(nèi)容,軟件默認(rèn)值為:1
5.3檢測(cè)設(shè)置
![]() |
圖13 檢測(cè)設(shè)置 |
參數(shù)過(guò)濾:某些參數(shù)是WEB的一些通用參數(shù),這些參數(shù)是某些語(yǔ)言的一些默認(rèn)參數(shù),因此不需要檢測(cè)這些參數(shù),以提高檢測(cè)效率。
網(wǎng)頁(yè)檢測(cè)次數(shù):對(duì)于同一網(wǎng)頁(yè)腳本不同參數(shù),檢測(cè)結(jié)果一般相同,沒(méi)有必要連續(xù)檢測(cè)過(guò)多的次數(shù)。
5.4策略配置
![]() |
圖14 策略配置 |
在掃描策略選擇時(shí)選擇全部策略,可能不希望進(jìn)行某幾個(gè)模塊的檢測(cè),可以在這里進(jìn)行設(shè)定。#p#
三、常見(jiàn)問(wèn)題
Q1: 當(dāng)輸入掃描地址并點(diǎn)擊開(kāi)始后,程序無(wú)反應(yīng)。
A1: 產(chǎn)品沒(méi)有注冊(cè),或沒(méi)有輸入注冊(cè)碼激活,請(qǐng)檢查您的許可證。
Q2: 安裝完成后,程序不能運(yùn)行是怎么回事?
A2: UnisWebScanner是基于.NET框架構(gòu)建進(jìn)行開(kāi)發(fā)的,運(yùn)行這樣的程序您需要首先安裝 .NET框架,當(dāng)前最新版本是3.5 SP1,可以在
http://msdn.microsoft.com/en-us/netframework/default.aspx處進(jìn)行下載。
Q3: 開(kāi)始掃描網(wǎng)站后,馬上就結(jié)束了,為什么?
3: 指定的目標(biāo)網(wǎng)站首頁(yè)可能是flash等文件,請(qǐng)?zhí)^(guò)該頁(yè),指定一個(gè)包含該網(wǎng)站主要導(dǎo)航鏈接的“首頁(yè)”進(jìn)行掃描。
Q4: 網(wǎng)站掃描了快10個(gè)小時(shí)了,還沒(méi)完,是不是出錯(cuò)了?A4: 可能是指定的網(wǎng)站較大頁(yè)面數(shù)量較多,也可能是其他的原因,請(qǐng)及時(shí)聯(lián)系我們的技術(shù)服務(wù)團(tuán)隊(duì)。
Q5: 謝謝您們的產(chǎn)品,但我希望能確定網(wǎng)站是否存在漏洞并獲得解決方案,能幫助我嗎?
A5: 是的。UnisWebScanner團(tuán)隊(duì)多年來(lái)專注于Web安全研究,您可以隨時(shí)申請(qǐng)我們專業(yè)的服務(wù)支持。
四、 附錄
附錄1:HTTP狀態(tài)碼
摘自HTTP 協(xié)議(版本1.1)RFC 2616,詳細(xì)信息參見(jiàn)
http://www.ietf.org/rfc/rfc2616.txt
100: Continue
101: Switching Protocols
200: OK
201: Created
202: Accepted
203: Non-Authoritative Information
204: No Content
205: Reset Content
206: Partial Content
300: Multiple Choices
301: Moved Permanently
302: Found
303: See Other
304: Not Modified
305: Use Proxy
307: Temporary Redirect
400: Bad Request
401: Unauthorized
402: Payment Required
403: Forbidden
404: Not Found
405: Method Not Allowed
406: Not Acceptable
407: Proxy Authentication Required
408: Request Time-out
409: Conflict
410: Gone
411: Length Required
412: Precondition Failed
413: Request Entity Too Large
414: Request-URI Too Large
415: Unsupported Media Type
416: Requested range not satisfiable
417: Expectation Failed
500: Internal Server Error
501: Not Implemented
502: Bad Gateway
503: Service Unavailable
504: Gateway Time-out
505: HTTP Version not supported extension-code