網(wǎng)頁重定向漏洞檢測方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種檢測技術(shù),特別涉及一種網(wǎng)頁重定向漏洞檢測方法及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的發(fā)展,如今在用戶交互和用戶體驗(yàn)方面已經(jīng)有了很大的提高,使各種應(yīng)用網(wǎng)絡(luò)化,用戶只需使用瀏覽器訪問網(wǎng)站即可使用各種應(yīng)用,但也因此給服務(wù)端和客戶端的安全帶來了巨大的威脅。
[0003]Web應(yīng)用內(nèi)部經(jīng)常會(huì)根據(jù)不同的邏輯將用戶引向不同的頁面。例如,一個(gè)典型的登錄接口,在接收到用戶發(fā)送來的登錄信息且認(rèn)證成功后,經(jīng)常會(huì)自動(dòng)跳轉(zhuǎn)到網(wǎng)站首頁或登錄之前用戶訪問的頁面。而在頁面的跳轉(zhuǎn)過程中,如果實(shí)現(xiàn)不好就可能導(dǎo)致一些安全問題,甚至引起嚴(yán)重的安全漏洞。例如不法份子通過改變頁面請求參數(shù)的內(nèi)容,將頁面重定向至A網(wǎng)站的一個(gè)頁面,而A網(wǎng)站很可能就是一個(gè)用戶竊取用戶請求的釣魚網(wǎng)站,從而造成用戶敏感信息的丟失。
[0004]而現(xiàn)有技術(shù)中針對上述問題缺乏有效的解決方案,因此,亟需一種網(wǎng)頁網(wǎng)頁重定向漏洞的檢測方案,以解決上述問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例的目的是提供一種網(wǎng)頁重定向漏洞檢測方法及裝置,以解決現(xiàn)有的網(wǎng)絡(luò)訪問存在網(wǎng)頁重定向漏洞的問題。
[0006]本發(fā)明實(shí)施例提出一種網(wǎng)頁重定向漏洞檢測方法,包括:
[0007]識別待檢測的統(tǒng)一資源定位符中的傳遞參數(shù);
[0008]當(dāng)識別到所述資源定位符中存在傳遞參數(shù),以預(yù)設(shè)的地址信息分別且逐一替換識別到的每個(gè)傳遞參數(shù),獲得至少一個(gè)新的統(tǒng)一資源定位符;
[0009]根據(jù)新的統(tǒng)一資源定位符,發(fā)出網(wǎng)絡(luò)訪問請求;
[0010]接收服務(wù)器返回的返回包,并根據(jù)所述返回包的內(nèi)容判斷是否包括目標(biāo)網(wǎng)址為所述預(yù)設(shè)的地址信息的網(wǎng)頁重定向;
[0011]若檢測到目標(biāo)網(wǎng)址為所述預(yù)設(shè)的地址信息的網(wǎng)頁跳轉(zhuǎn)則記錄對應(yīng)的傳遞參數(shù)存在網(wǎng)頁重定向漏洞。
[0012]本發(fā)明實(shí)施例還提出一種網(wǎng)頁重定向漏洞檢測裝置,包括:
[0013]傳遞參數(shù)識別模塊,用于識別待檢測的統(tǒng)一資源定位符中的傳遞參數(shù);
[0014]參數(shù)替換模塊,用于當(dāng)識別到所述資源定位符中存在傳遞參數(shù),以預(yù)設(shè)的地址信息分別且逐一替換識別到的每個(gè)傳遞參數(shù),獲得至少一個(gè)新的統(tǒng)一資源定位符;
[0015]訪問請求發(fā)送模塊,用于根據(jù)新的統(tǒng)一資源定位符,發(fā)出網(wǎng)絡(luò)訪問請求;
[0016]返回包接收模塊,用于接收服務(wù)器返回的返回包;
[0017]跳轉(zhuǎn)判斷模塊,用于根據(jù)所述返回包的內(nèi)容判斷是否包括目標(biāo)網(wǎng)址為所述預(yù)設(shè)的地址信息的網(wǎng)頁重定向;
[0018]記錄模塊,用于當(dāng)檢測到目標(biāo)網(wǎng)址為所述預(yù)設(shè)的地址信息的網(wǎng)頁跳轉(zhuǎn)則記錄對應(yīng)的傳遞參數(shù)存在網(wǎng)頁重定向漏洞。
[0019]相對于現(xiàn)有技術(shù),本發(fā)明的有益效果是:
[0020]通過本發(fā)明實(shí)施例的方法及裝置,可以準(zhǔn)確地檢測出URL中存在的網(wǎng)頁重定向漏洞,可以有效提高網(wǎng)絡(luò)訪問的安全性,且本發(fā)明實(shí)施例的方法可以支持多次跳轉(zhuǎn)的檢測,以及支持javascript跳轉(zhuǎn)、meta標(biāo)簽跳轉(zhuǎn)、SRC標(biāo)簽屬性跳轉(zhuǎn)、HTTP頭部跳轉(zhuǎn)的檢測,具有較大的適用范圍。
【附圖說明】
[0021]圖1為本發(fā)明實(shí)施例提供的方法及裝置的運(yùn)行環(huán)境示意圖;
[0022]圖2為圖1中的漏洞檢測服務(wù)器的結(jié)構(gòu)框圖;
[0023]圖3為圖1中的網(wǎng)站服務(wù)器的結(jié)構(gòu)框圖;
[0024]圖4為本發(fā)明實(shí)施例的一種網(wǎng)頁重定向漏洞檢測方法的流程圖;
[0025]圖5為本發(fā)明實(shí)施例的另一種網(wǎng)頁重定向漏洞檢測方法的流程圖;
[0026]圖6為本發(fā)明實(shí)施例的一種網(wǎng)頁重定向漏洞檢測裝置的結(jié)構(gòu)圖;
[0027]圖7為本發(fā)明實(shí)施例的另一種網(wǎng)頁重定向漏洞檢測裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0028]有關(guān)本發(fā)明的前述及其他技術(shù)內(nèi)容、特點(diǎn)及功效,在以下配合參考圖式的較佳實(shí)施例詳細(xì)說明中將可清楚的呈現(xiàn)。通過【具體實(shí)施方式】的說明,當(dāng)可對本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效得以更加深入且具體的了解,然而所附圖式僅是提供參考與說明之用,并非用來對本發(fā)明加以限制。
[0029]本發(fā)明實(shí)施例所述的統(tǒng)一資源定位符(Uniform Resource Locator, URL)是對可以從互聯(lián)網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯(lián)網(wǎng)上標(biāo)準(zhǔn)資源的地址?;ヂ?lián)網(wǎng)上的每個(gè)文件都有一個(gè)唯一的URL,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它。
[0030]本發(fā)明實(shí)施例提出一種網(wǎng)頁重定向漏洞檢測方法及裝置,用于檢測通過URL訪問網(wǎng)絡(luò)時(shí)可能產(chǎn)生的網(wǎng)頁重定向漏洞,其可以通過模擬瀏覽器的方式實(shí)現(xiàn)對URL的檢測。請參見圖1,其為上述的方法及裝置的運(yùn)行環(huán)境示意圖。一個(gè)或多個(gè)漏洞檢測服務(wù)器100 (圖1中僅示出一個(gè))可通過網(wǎng)絡(luò)與一個(gè)或多個(gè)網(wǎng)站服務(wù)器200 (圖1中僅示出一個(gè))相連。上述的網(wǎng)絡(luò)例如可為互聯(lián)網(wǎng)、局域網(wǎng)、企業(yè)內(nèi)部網(wǎng)等。
[0031]進(jìn)一步參閱圖2,其為上述的漏洞檢測服務(wù)器100的一個(gè)實(shí)施例的結(jié)構(gòu)框圖。如圖2所示,漏洞檢測服務(wù)器100包括:存儲(chǔ)器102、存儲(chǔ)控制器104、一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器106、外設(shè)接口 108以及網(wǎng)絡(luò)控制器112??梢岳斫?,圖2所示的結(jié)構(gòu)僅為示意,其并不對漏洞檢測服務(wù)器100的結(jié)構(gòu)造成限定。例如,漏洞檢測服務(wù)器100還可包括比圖2中所示更多或者更少的組件,或者具有與圖2所示不同的配置。
[0032]存儲(chǔ)器102可用于存儲(chǔ)軟件程序以及模塊,如本發(fā)明實(shí)施例中的網(wǎng)頁重定向漏洞檢測方法及裝置對應(yīng)的程序指令/模塊,處理器104通過運(yùn)行存儲(chǔ)在存儲(chǔ)器102內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的方法。
[0033]存儲(chǔ)器102可包括高速隨機(jī)存儲(chǔ)器,還可包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器102可進(jìn)一步包括相對于處理器106遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至漏洞檢測服務(wù)器100。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。處理器106以及其他可能的組件對存儲(chǔ)器102的訪問可在存儲(chǔ)控制器104的控制下進(jìn)行。
[0034]外設(shè)接口 108將各種輸入/輸入裝置耦合至處理器106。處理器106運(yùn)行存儲(chǔ)器102內(nèi)的各種軟件、指令,以及進(jìn)行數(shù)據(jù)處理。在一些實(shí)施例中,外設(shè)接口 108、處理器106以及存儲(chǔ)控制器104可以在單個(gè)芯片中實(shí)現(xiàn)。在其他一些實(shí)例中,他們可以分別由獨(dú)立的芯片實(shí)現(xiàn)。
[0035]網(wǎng)絡(luò)控制器112用于接收以及發(fā)送網(wǎng)絡(luò)信號。上述網(wǎng)絡(luò)信號可包括無線信號或者有線信號。在一個(gè)實(shí)例中,上述網(wǎng)絡(luò)信號為有線網(wǎng)絡(luò)信號。此時(shí),網(wǎng)絡(luò)控制器112可包括處理器、隨機(jī)存儲(chǔ)器、轉(zhuǎn)換器、晶體振蕩器等元件。
[0036]上述的軟件程序以及模塊包括:操作系統(tǒng)122、瀏覽器引擎124以及漏洞檢測模塊126。其中操作系統(tǒng)122例如可為LINUX, UNIX, WINDOWS,其可包括各種用于管理系統(tǒng)任務(wù)(例如內(nèi)存管理、存儲(chǔ)設(shè)備控制、電源管理等)的軟件組件和/或驅(qū)動(dòng),并可與各種硬件或軟件組件相互通訊,從而提供其他軟件組件的運(yùn)行環(huán)境。瀏覽器引擎124以及漏洞檢測模塊126運(yùn)行在操作系統(tǒng)122的基礎(chǔ)上。瀏覽器引擎124例如可為Webkit瀏覽器引擎。漏洞檢測模塊126可以通過瀏覽器引擎124具體實(shí)現(xiàn)本發(fā)明實(shí)施例的網(wǎng)頁重定向漏洞檢測方法。
[0037]進(jìn)一步參閱圖3,其為圖1中的網(wǎng)站服務(wù)器200的一個(gè)實(shí)施例的結(jié)構(gòu)框圖。如圖3所示,其與漏洞檢測服務(wù)器100的結(jié)構(gòu)相似,其不同之處在于,網(wǎng)站服務(wù)器200可不包括瀏覽器引擎124以及漏洞檢測模塊126,而包括網(wǎng)站服務(wù)器模塊224。網(wǎng)站服務(wù)器模塊224運(yùn)行在操作系統(tǒng)122的基礎(chǔ)上,并通過操作系統(tǒng)122的網(wǎng)絡(luò)服務(wù)監(jiān)聽來自網(wǎng)絡(luò)的網(wǎng)頁訪問請求,根據(jù)網(wǎng)頁訪問請求完成相應(yīng)的數(shù)據(jù)處理,并返回結(jié)果網(wǎng)頁或者其他格式的數(shù)據(jù)給客戶端。上述的網(wǎng)站服務(wù)器模塊224例如可包括動(dòng)態(tài)網(wǎng)頁腳本以及腳本解釋器等。上述的腳本解釋器例如可為Apache網(wǎng)站服務(wù)器程序,其用于將動(dòng)態(tài)網(wǎng)頁腳本處理成客戶端可以接受的格式,例如超文本標(biāo)記(HTML)語言格式或者可擴(kuò)展標(biāo)記語言(XML)格式等。
[0038]請參見圖4,其為本發(fā)明