web漏洞檢測的方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術領域,尤其涉及一種web漏洞檢測的方法及裝置。
【背景技術】
[0002]WEB漏洞通常是指網(wǎng)站程序上的漏洞,可能是由于代碼編寫者在編寫代碼時考慮不周全等原因而造成的漏洞。因此,測試人員需要對網(wǎng)站是否存在漏洞進行檢查。常見的web漏洞檢測方法,包括以下兩種:1)采用網(wǎng)絡蜘蛛形式的直接掃描方式,對web服務器進行全站掃描,將網(wǎng)站所有連接地址逐一進行采集測試;2)登錄掃描方式,對用戶登錄內(nèi)部系統(tǒng)進行掃描,這種掃描方式需要測試人員對每個功能模塊都進行登錄才能記錄在掃描器的url庫中,其相對于第一種掃描檢測方式更具有針對性。
[0003]但是,對于第一種web漏洞掃描檢測方法,在采用多線程掃描時,對于小流量網(wǎng)站容易造成網(wǎng)絡無法訪問,此時web服務器不能返回信息,從而導致web漏洞掃描失敗。對于第二種web漏洞檢測方法,當用戶提交的用戶名或密碼出現(xiàn)異常時,會直接導致通信失敗,導致掃描出現(xiàn)異常。且在進行后臺掃描時,容易因登錄會話超時導致web漏洞檢測失敗。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對現(xiàn)有技術中,web漏洞檢測收到的約束條件較多,易造成檢測失敗的問題,提供一種能夠穩(wěn)定進行web漏洞掃描檢測的,web漏洞檢測的方法及裝置。
[0005]為實現(xiàn)本發(fā)明目的提供的一種web漏洞檢測的方法,在代理掃描器中設置連接瀏覽器和web服務器的通信端口,所述瀏覽器能夠通過所述通信端口發(fā)送信息到所述web服務器,所述方法包括以下步驟:
[0006]檢測到瀏覽器向web服務器發(fā)送訪問請求時,所述代理掃描器啟動所述通信端口準備接收數(shù)據(jù);
[0007]接收所述瀏覽器發(fā)送來的http數(shù)據(jù)包,并對所述http數(shù)據(jù)包進行采集;
[0008]修改已經(jīng)采集到的某個所述http數(shù)據(jù)包為測試數(shù)據(jù)包,并將所述測試數(shù)據(jù)包通過所述通信端口發(fā)送到web服務器進行漏洞檢測。
[0009]作為一種web漏洞檢測的方法的可實施方式,還包括以下步驟:
[0010]根據(jù)所述瀏覽器接收到的所述web服務器返回的所述測試數(shù)據(jù)包的執(zhí)行結果,判斷所測試網(wǎng)站是否存在web漏洞。
[0011]作為一種web漏洞檢測的方法的可實施方式,通過對所述執(zhí)行結果使用正則表達式匹配是否存在漏洞特征,來判斷所測試網(wǎng)站是否存在web漏洞。
[0012]作為一種web漏洞檢測的方法的可實施方式,還包括以下步驟:在對所述http數(shù)據(jù)包進行采集之前,還包括以下步驟:
[0013]判斷設定信號是通過狀態(tài)還是阻斷狀態(tài);
[0014]若所述設定信號是通過狀態(tài),則對所接收的http數(shù)據(jù)包進行采集;
[0015]若所述設定信號是阻斷狀態(tài),則忽略當前接收的所述http數(shù)據(jù)包,并返回繼續(xù)接收新的所述http數(shù)據(jù)包。
[0016]作為一種web漏洞檢測的方法的可實施方式,所述修改已經(jīng)采集到的某個所述http數(shù)據(jù)包,包括在所述http數(shù)據(jù)包中添加測試代碼和/或修改所述http數(shù)據(jù)包的http提交路徑。
[0017]作為一種web漏洞檢測的方法的可實施方式,還包括以下步驟:
[0018]對不需要進行測試的所述http數(shù)據(jù)包不進行修改直接通過所述通信端口發(fā)送到所述web服務器。
[0019]基于同一發(fā)明構思的一種web漏洞檢測的裝置,包括瀏覽器、代理掃描器及結果確定模塊;
[0020]所述代理掃描器中配置有連接所述瀏覽器及web服務器的通信端口,所述瀏覽器能夠通過所述通信端口發(fā)送信息到所述web服務器;
[0021]所述代理掃描器中還包括信號檢測模塊、數(shù)據(jù)采集模塊及數(shù)據(jù)處理發(fā)送模塊,其中:
[0022]所述信號檢測模塊,被配置以檢測到瀏覽器向web服務器發(fā)送訪問請求時,啟動所述通信端口準備接收數(shù)據(jù);
[0023]所述數(shù)據(jù)采集模塊,被配置以接收所述瀏覽器發(fā)送來的http數(shù)據(jù)包,并對所述http數(shù)據(jù)包進行采集;
[0024]所述數(shù)據(jù)處理發(fā)送模塊,被配置以修改已經(jīng)采集到的某個所述http數(shù)據(jù)包為測試數(shù)據(jù)包,并將所述測試數(shù)據(jù)包通過所述通信端口發(fā)送到web服務器進行漏洞檢測;
[0025]所述瀏覽器向所述web服務器發(fā)送http數(shù)據(jù)包,并接收web服務器返回的所述測試數(shù)據(jù)包的執(zhí)行結果;
[0026]所述結果確定模塊,被配置以根據(jù)所述執(zhí)行結果判斷所測試的網(wǎng)站是否存在web漏洞。
[0027]作為一種web漏洞檢測的裝置的可實施方式,所述數(shù)據(jù)采集模塊包括數(shù)據(jù)接收子模塊、設定信號接收判斷子模塊、數(shù)據(jù)采集子模塊及數(shù)據(jù)阻斷子模塊,其中:
[0028]所述數(shù)據(jù)接收子模塊,被配置以接收所述瀏覽器發(fā)送的http數(shù)據(jù)包;
[0029]所述設定信號接收判斷子模塊,被配置以接收設定信號,并判斷設定信號是通過狀態(tài)還是阻斷狀態(tài),并在所述設定信號為通過狀態(tài)時,控制執(zhí)行所述數(shù)據(jù)采集子模塊,在所述設定信號為阻斷狀態(tài)時,控制執(zhí)行所述數(shù)據(jù)阻斷子模塊;
[0030]所述數(shù)據(jù)采集子模塊,被配置以采集所述數(shù)據(jù)接收子模塊接收的所述http數(shù)據(jù)包,并存儲;
[0031]所述數(shù)據(jù)阻斷子模塊,被配置以控制忽略所述數(shù)據(jù)接收子模塊已經(jīng)接收到的所述http數(shù)據(jù)包,并繼續(xù)接收新的http數(shù)據(jù)包。
[0032]作為一種web漏洞檢測的裝置的可實施方式,所述修改已經(jīng)采集到的某個所述http數(shù)據(jù)包,包括在所述http數(shù)據(jù)包中添加測試代碼和/或修改所述http數(shù)據(jù)包的http提交路徑。
[0033]作為一種web漏洞檢測的裝置的可實施方式,所述代理掃描器中還包括數(shù)據(jù)直接發(fā)送模塊;
[0034]所述數(shù)據(jù)直接發(fā)送模塊,被配置以對不需要進行測試的所述http數(shù)據(jù)包不進行修改而直接通過所述通信端口發(fā)送到所述web服務器。
[0035]本發(fā)明的有益效果包括:本發(fā)明提供的一種web漏洞檢測的方法及裝置,該方法通過瀏覽器和web服務器之間的通信端口對http數(shù)據(jù)包進行攔截,并對需要修改的數(shù)據(jù)包進行修改,從而進行web漏洞檢測。其能夠?qū)崿F(xiàn)對用戶登錄內(nèi)部系統(tǒng)的掃描,也避免了傳統(tǒng)直接掃描方式對小流量網(wǎng)站容易出現(xiàn)無法訪問的問題。且本發(fā)明實施例的方法中代理服務器與web服務器之間建立的通訊穩(wěn)定,對于登錄掃描,代理服務器接收到http數(shù)據(jù)包,并且會一直帶著cookie字段進行掃描,保持與web服務器之間的工作(活動)狀態(tài),因此,本發(fā)明實施例的檢測方法能夠避免傳統(tǒng)的掃描器因登錄會話超時,而造成掃描失敗的問題。所以說,本發(fā)明實施例的web漏洞檢測的方法能夠穩(wěn)定的進行web漏洞檢測,且可以有針對性的進行檢測。
【附圖說明】
[0036]圖1為本發(fā)明一種web漏洞檢測的方法的一具體實施例的應用環(huán)境示意圖;
[0037]圖2為本發(fā)明一種web漏洞檢測的方法的一具體實施例的流程圖;
[0038]圖3為本發(fā)明一種web漏洞檢測的方法的另一具體實施例的流程圖;
[0039]圖4為本發(fā)明一種web漏洞檢測的裝置的一具體實施例的結構圖;
[0040]圖5為本發(fā)明一種web漏洞檢測的裝置的另一具體實施例的結構圖;
[0041]圖6為本發(fā)明一種web漏洞檢測的裝置的一具體實施例中的數(shù)據(jù)采集模塊構成示意圖。
【具體實施方式】
[0042]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖對本發(fā)明的web漏洞檢測的方法及裝置的【具體實施方式】進行說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0043]本發(fā)明一實施例的web漏洞檢測的方法,應用與通過瀏覽器對