欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種檢測(cè)跨站腳本漏洞的方法及裝置制造方法

文檔序號(hào):6505141閱讀:132來(lái)源:國(guó)知局
一種檢測(cè)跨站腳本漏洞的方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種檢測(cè)跨站腳本漏洞的方法及裝置,屬于計(jì)算機(jī)【技術(shù)領(lǐng)域】。所述方法包括:獲取待檢測(cè)的Flash文件;對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼;查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼;如果在所述源碼中存在漏洞代碼查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。本發(fā)明通過(guò)預(yù)先建立的漏洞庫(kù)對(duì)Flash文件的源碼中的漏洞代碼進(jìn)行查詢(xún),如果查詢(xún)到則確定Flash文件存在跨站腳本漏洞,提高了跨站腳本漏洞的檢測(cè)范圍,將業(yè)界已經(jīng)公布的除預(yù)設(shè)的函數(shù)中的全局變量以為的漏洞都包括在檢測(cè)范圍內(nèi),提高了檢測(cè)的效率。
【專(zhuān)利說(shuō)明】一種檢測(cè)跨站腳本漏洞的方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種檢測(cè)跨站腳本漏洞的方法及裝置。

【背景技術(shù)】
[0002]跨站腳本(Cross Site Scripting,常簡(jiǎn)寫(xiě)作XSS)攻擊,是常見(jiàn)的Web攻擊技術(shù)之一,由于跨站腳本漏洞易于出現(xiàn)且利用成本低,被列為當(dāng)前的頭號(hào)Web安全威脅?,F(xiàn)有的跨站腳本不僅出現(xiàn)在網(wǎng)頁(yè)中,還可以出現(xiàn)在Flash文件中,利用Flash文件中的漏洞實(shí)施跨站腳本攻擊,對(duì)用戶(hù)的網(wǎng)絡(luò)安全造成很大的威脅。因此,為了提高用戶(hù)的網(wǎng)絡(luò)安全,需要對(duì)Flash文件進(jìn)行跨站腳本漏洞的檢測(cè)。
[0003]現(xiàn)有技術(shù)中,對(duì)于檢測(cè)是否Flash文件中存在跨站腳本漏洞的方式是將Flash文件進(jìn)行反編譯,得到該Flash文件的源碼,在源碼中查詢(xún)預(yù)設(shè)的輸出函數(shù)中是否存在全局變量,當(dāng)查詢(xún)到時(shí)則認(rèn)為該Flash文件為存在跨站腳本漏洞危險(xiǎn)的。其中,通過(guò)全局變量可以將危險(xiǎn)代碼傳遞給預(yù)設(shè)的輸出函數(shù),造成跨站腳本攻擊。
[0004]在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:
[0005]現(xiàn)有的檢測(cè)方式僅能查詢(xún)到全局變量傳遞危險(xiǎn)代碼而導(dǎo)致跨站腳本攻擊的類(lèi)型,檢測(cè)的方式較單一,檢測(cè)的內(nèi)容較為片面。


【發(fā)明內(nèi)容】

[0006]為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種檢測(cè)跨站腳本漏洞的方法及裝置。所述技術(shù)方案如下:
[0007]—方面,提供了一種檢測(cè)跨站腳本漏洞的方法,所述方法包括:
[0008]獲取待檢測(cè)的Flash文件;
[0009]對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼;
[0010]查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼;
[0011]如果在所述源碼中存在漏洞代碼查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
[0012]另一方面,提供了一種檢測(cè)跨站腳本漏洞的裝置,所述裝置包括:
[0013]第一獲取模塊,用于獲取待檢測(cè)的Flash文件;
[0014]第二獲取模塊,用于對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼;
[0015]第一查詢(xún)模塊,用于查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼;
[0016]第一確定模塊,用于如果在所述源碼中存在漏洞代碼查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
[0017]本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
[0018]通過(guò)預(yù)先建立的漏洞庫(kù)對(duì)Flash文件的源碼中的漏洞代碼進(jìn)行查詢(xún),如果查詢(xún)到則確定Flash文件存在跨站腳本漏洞,提高了跨站腳本漏洞的檢測(cè)范圍,將業(yè)界已經(jīng)公布的除預(yù)設(shè)的函數(shù)中的全局變量以為的漏洞都包括在檢測(cè)范圍內(nèi),提高了檢測(cè)的效率。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0019]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0020]圖1是本發(fā)明實(shí)施例一提供的檢測(cè)跨站腳本漏洞的方法流程圖;
[0021]圖2是本發(fā)明實(shí)施例二提供的檢測(cè)跨站腳本漏洞的方法流程圖;
[0022]圖3是本發(fā)明實(shí)施例二提供的另一種檢測(cè)跨站腳本漏洞的方法流程圖;
[0023]圖4是本發(fā)明實(shí)施例三提供的檢測(cè)跨站腳本漏洞的裝置結(jié)構(gòu)示意圖。

【具體實(shí)施方式】
[0024]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0025]實(shí)施例一
[0026]本發(fā)明實(shí)施例提供了一種檢測(cè)跨站腳本漏洞的方法,參見(jiàn)圖1,方法流程包括:
[0027]101:獲取待檢測(cè)的Flash文件;
[0028]102:對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼;
[0029]103:查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼;
[0030]104:如果在所述源碼中存在漏洞代碼查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
[0031]本發(fā)明實(shí)施例通過(guò)預(yù)先建立的漏洞庫(kù)對(duì)Flash文件的源碼中的漏洞代碼進(jìn)行查詢(xún),如果查詢(xún)到則確定Flash文件存在跨站腳本漏洞,提高了跨站腳本漏洞的檢測(cè)范圍,將業(yè)界已經(jīng)公布的除預(yù)設(shè)的函數(shù)中的全局變量以為的漏洞都包括在檢測(cè)范圍內(nèi),提高了檢測(cè)的效率。
[0032]實(shí)施例二
[0033]本發(fā)明實(shí)施例提供了一種檢測(cè)跨站腳本漏洞的方法,參見(jiàn)圖2,方法流程包括:
[0034]201獲取待檢測(cè)的Flash文件。
[0035]其中,對(duì)于待檢測(cè)的Flash文件的獲取方式可以具體為:
[0036]2011:獲取本地中保存的待檢測(cè)的Flash文件。
[0037]其中,從本地獲取的Flash文件可以為單一的或批量的Flash文件
[0038]或者,
[0039]2012:根據(jù)本地獲取的待檢測(cè)的Flash文件的鏈接地址,下載所述檢測(cè)的Flash文件。
[0040]其中,鏈接地址為可以為單一的或批量的Flash文件的URL (Uniform ResourceLocator,統(tǒng)一資源定位符)地址。
[0041]202:對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼。
[0042]具體的,通過(guò)反編譯工具對(duì)Flash文件進(jìn)行反編譯,其中Flash文件的源碼使用的Act1n Script腳本代碼的版本不同時(shí),進(jìn)行反編譯所使用的工具不同,因此需要首先查詢(xún)Flash文件中腳本代碼版本,再根據(jù)確定的腳本代碼版本選取相應(yīng)的工具進(jìn)行反編譯,因此步驟202具體為:
[0043]查詢(xún)所述待檢測(cè)的Flash文件中的腳本代碼版本,并根據(jù)所述腳本代碼版本選取相應(yīng)的反編譯方式對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼。
[0044]203:查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼。
[0045]具體的,在本發(fā)明實(shí)施例執(zhí)行之前,優(yōu)選的可以根據(jù)漏洞庫(kù)中的漏洞代碼,生成相應(yīng)的正則表達(dá)式,便于對(duì)反編譯后的Flash文件的源碼進(jìn)行查詢(xún)。因此在本發(fā)明實(shí)施例執(zhí)行之前,還可以進(jìn)行以下操作:
[0046]根據(jù)預(yù)選保存的漏洞庫(kù)中包括的漏洞代碼,生成用于查詢(xún)所述漏洞代碼的正則表達(dá)式。
[0047]相應(yīng)的,步驟203查詢(xún)?cè)创a中是否存在漏洞代碼的過(guò)程可以具體為:
[0048]根據(jù)所述正則表達(dá)式,查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼。
[0049]其中,查找到漏洞代碼后,記錄其在源碼中出現(xiàn)的位置以及該行源碼語(yǔ)句,以便在檢測(cè)之后輸出檢測(cè)報(bào)告。
[0050]204:如果在所述源碼中存在漏洞代碼查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
[0051]205:查詢(xún)所述源碼中的預(yù)設(shè)的函數(shù)中是否存在全局變量。
[0052]查詢(xún)所述源碼中的預(yù)設(shè)的函數(shù)中是否存在全局變量的過(guò)程,是在源碼中查詢(xún)預(yù)先設(shè)置的輸出函數(shù),查詢(xún)到后再在其參數(shù)中查詢(xún)其是否存在全局變量。
[0053]其中,查找到預(yù)設(shè)的函數(shù)中存在全局變量后,記錄其在源碼中出現(xiàn)的位置以及該行源碼語(yǔ)句,以便在檢測(cè)之后輸出檢測(cè)報(bào)告。
[0054]206:如果在所述源碼中的預(yù)設(shè)的函數(shù)中查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
[0055]其中,步驟203至步驟204和步驟205至步驟206的執(zhí)行過(guò)程可以同時(shí)進(jìn)行,也可以先后進(jìn)行,這兩個(gè)過(guò)程的執(zhí)行順序并不做出限定。
[0056]207:輸出所述待檢測(cè)的Flash文件的源碼中存在漏洞的源碼語(yǔ)句以及所述漏洞的源碼語(yǔ)句對(duì)應(yīng)的攻擊代碼。
[0057]檢測(cè)后,輸出的漏洞對(duì)應(yīng)的源碼語(yǔ)句,用于技術(shù)人員通過(guò)核查該漏洞對(duì)應(yīng)的源碼語(yǔ)句進(jìn)一步確定是否為漏洞,并根據(jù)確認(rèn)后的結(jié)果對(duì)該Flash文件的漏洞對(duì)應(yīng)的源碼進(jìn)行修改。
[0058]其中漏洞的源碼語(yǔ)句對(duì)應(yīng)的攻擊代碼是預(yù)先記錄的內(nèi)容,便于技術(shù)人員理解該漏洞的內(nèi)容。
[0059]進(jìn)一步的,本發(fā)明實(shí)施例還提供一種檢測(cè)跨站腳本漏洞的方法,如圖3所示,其中與上一實(shí)施方式的區(qū)別在于獲取待檢測(cè)的Flash文件的過(guò)程不同。
[0060]該方法包括:
[0061]301:向搜索引擎發(fā)送對(duì)待檢測(cè)的Flash文件的搜索請(qǐng)求,所述搜索請(qǐng)求中攜帶所述待檢測(cè)的Flash文件所在網(wǎng)站域名的搜索命令。
[0062]其中,對(duì)某一個(gè)域名的網(wǎng)站下的所有的Flash文件進(jìn)行統(tǒng)一的獲取和檢測(cè),該方式為通過(guò)搜索引擎來(lái)對(duì)該網(wǎng)站中包括的Flash文件的地址進(jìn)行查詢(xún),然后根據(jù)查詢(xún)到的地址獲取該網(wǎng)站中的所有Flash文件。
[0063]例如:向搜索引擎發(fā)送的搜索請(qǐng)求中的搜索命令為:site:qq.com filetype: swf 0
[0064]通過(guò)該搜索命令,即可以使搜索引擎查詢(xún)?cè)撚蛎碌乃衒lash文件,搜索到后搜索引擎會(huì)返回搜索到的Flash文件的地址。
[0065]302:接收所述搜索引擎返回的所述待檢測(cè)的Flash文件的地址。
[0066]接收到待檢測(cè)的Flash文件的地址后,優(yōu)選的還可以對(duì)待檢測(cè)的Flash文件的地址進(jìn)行去掉重復(fù)的地址的處理。
[0067]303:獲取待檢測(cè)的Flash文件。
[0068]具體的,步驟303可以具體為:
[0069]根據(jù)所述搜索引擎返回的所述檢測(cè)的Flash文件的地址,下載所述檢測(cè)的Flash文件。
[0070]304:對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼。
[0071 ] 具體的,通過(guò)反編譯工具對(duì)Flash文件進(jìn)行反編譯,其中Flash文件的源碼使用的Act1n Script腳本代碼的版本不同時(shí),進(jìn)行反編譯所使用的工具不同,因此需要首先查詢(xún)Flash文件中腳本代碼版本,再根據(jù)確定的腳本代碼版本選取相應(yīng)的工具進(jìn)行反編譯,因此步驟304具體為:
[0072]查詢(xún)所述待檢測(cè)的Flash文件中的腳本代碼版本,并根據(jù)所述腳本代碼版本選取相應(yīng)的反編譯方式對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼。
[0073]305:查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼。
[0074]具體的,在本發(fā)明實(shí)施例執(zhí)行之前,優(yōu)選的可以根據(jù)漏洞庫(kù)中的漏洞代碼,生成相應(yīng)的正則表達(dá)式,便于對(duì)反編譯后的Flash文件的源碼進(jìn)行查詢(xún)。因此在本發(fā)明實(shí)施例執(zhí)行之前,還可以進(jìn)行以下操作:
[0075]根據(jù)預(yù)選保存的漏洞庫(kù)中包括的漏洞代碼,生成用于查詢(xún)所述漏洞代碼的正則表達(dá)式。
[0076]相應(yīng)的,步驟305查詢(xún)?cè)创a中是否存在漏洞代碼的過(guò)程可以具體為:
[0077]根據(jù)所述正則表達(dá)式,查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼。
[0078]其中,查找到漏洞代碼后,記錄其在源碼中出現(xiàn)的位置以及該行源碼語(yǔ)句,以便在檢測(cè)之后輸出檢測(cè)報(bào)告。
[0079]306:如果在所述源碼中存在漏洞代碼查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
[0080]307:查詢(xún)所述源碼中的預(yù)設(shè)的函數(shù)中是否存在全局變量。
[0081]查詢(xún)所述源碼中的預(yù)設(shè)的函數(shù)中是否存在全局變量的過(guò)程,是在源碼中查詢(xún)預(yù)先設(shè)置的輸出函數(shù),查詢(xún)到后再在其參數(shù)中查詢(xún)其是否存在全局變量。
[0082]其中,查找到預(yù)設(shè)的函數(shù)中存在全局變量后,記錄其在源碼中出現(xiàn)的位置以及該行源碼語(yǔ)句,以便在檢測(cè)之后輸出檢測(cè)報(bào)告。
[0083]308:如果在所述源碼中的預(yù)設(shè)的函數(shù)中查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
[0084]其中,步驟305至步驟306和步驟307至步驟308的執(zhí)行過(guò)程可以同時(shí)進(jìn)行,也可以先后進(jìn)行,這兩個(gè)過(guò)程的執(zhí)行順序并不做出限定。
[0085]309:輸出所述待檢測(cè)的Flash文件的源碼中存在漏洞的源碼語(yǔ)句以及所述漏洞的源碼語(yǔ)句對(duì)應(yīng)的攻擊代碼。
[0086]檢測(cè)后,輸出的漏洞的源碼語(yǔ)句以便與技術(shù)人員對(duì)該Flash文件進(jìn)行修改。
[0087]其中漏洞的源碼語(yǔ)句對(duì)應(yīng)的攻擊代碼是預(yù)先記錄的內(nèi)容,便于技術(shù)人員理解該漏洞的內(nèi)容。
[0088]本發(fā)明實(shí)施例通過(guò)預(yù)先建立的漏洞庫(kù)對(duì)Flash文件的源碼中的漏洞代碼進(jìn)行查詢(xún),如果查詢(xún)到則確定Flash文件存在跨站腳本漏洞,提高了跨站腳本漏洞的檢測(cè)范圍,將業(yè)界已經(jīng)公布的除預(yù)設(shè)的函數(shù)中的全局變量以為的漏洞都包括在檢測(cè)范圍內(nèi),提高了檢測(cè)的效率。
[0089]實(shí)施例三
[0090]本發(fā)明實(shí)施例提供了一種檢測(cè)跨站腳本漏洞的裝置,參見(jiàn)圖4,該裝置包括:
[0091]第一獲取模塊401,用于獲取待檢測(cè)的Flash文件;
[0092]第二獲取模塊402,用于對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼;
[0093]第一查詢(xún)模塊403,用于查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼;
[0094]第一確定模塊404,用于如果在所述源碼中存在漏洞代碼查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
[0095]其中,在【具體實(shí)施方式】中,所述第一獲取模塊401,包括:
[0096]第一獲取單元,用于獲取本地中保存的待檢測(cè)的Flash文件;
[0097]第二獲取單元,用于根據(jù)本地獲取的待檢測(cè)的Flash文件的鏈接地址,下載所述檢測(cè)的Flash文件。
[0098]其中,所述裝置還包括:
[0099]發(fā)送模塊405,用于向搜索引擎發(fā)送對(duì)待檢測(cè)的Flash文件的搜索請(qǐng)求,所述搜索請(qǐng)求中攜帶所述待檢測(cè)的Flash文件所在網(wǎng)站域名的搜索命令;
[0100]接收模塊406,用于接收所述搜索引擎返回的所述待檢測(cè)的Flash文件的地址;
[0101]相應(yīng)的,所述第一獲取模塊401還包括:
[0102]第三獲取單元,用于根據(jù)所述搜索引擎返回的所述檢測(cè)的Flash文件的地址,下載所述檢測(cè)的Flash文件。
[0103]其中,所述第二獲取模塊402具體用于:
[0104]查詢(xún)所述待檢測(cè)的Flash文件中的腳本代碼版本,并根據(jù)所述腳本代碼版本選取相應(yīng)的反編譯方式對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼。
[0105]其中,所述裝置還包括:
[0106]生成模塊407,用于根據(jù)預(yù)選保存的漏洞庫(kù)中包括的漏洞代碼,生成用于查詢(xún)所述漏洞代碼的正則表達(dá)式;
[0107]相應(yīng)的,所述第一查詢(xún)模塊403具體用于:
[0108]根據(jù)所述正則表達(dá)式,查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼。
[0109]其中,所述裝置還包括:
[0110]第二查詢(xún)模塊408,用于查詢(xún)所述源碼中的預(yù)設(shè)的函數(shù)中是否存在全局變量;
[0111]第二確定模塊409,用于如果在所述源碼中的預(yù)設(shè)的函數(shù)中查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
[0112]其中,所述裝置還包括:
[0113]輸出模塊410,用于輸出所述待檢測(cè)的Flash文件的源碼中存在漏洞的源碼語(yǔ)句以及所述漏洞的源碼語(yǔ)句對(duì)應(yīng)的攻擊代碼。
[0114]本發(fā)明實(shí)施例通過(guò)預(yù)先建立的漏洞庫(kù)對(duì)Flash文件的源碼中的漏洞代碼進(jìn)行查詢(xún),如果查詢(xún)到則確定Flash文件存在跨站腳本漏洞,提高了跨站腳本漏洞的檢測(cè)范圍,將業(yè)界已經(jīng)公布的除預(yù)設(shè)的函數(shù)中的全局變量以為的漏洞都包括在檢測(cè)范圍內(nèi),提高了檢測(cè)的效率。
[0115]上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
[0116]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。
[0117]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種檢測(cè)跨站腳本漏洞的方法,其特征在于,所述方法包括: 獲取待檢測(cè)的Flash文件; 對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼; 查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼; 如果在所述源碼中存在漏洞代碼查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取待檢測(cè)的Flash文件,包括: 獲取本地中保存的待檢測(cè)的Flash文件;或者, 根據(jù)本地獲取的待檢測(cè)的Flash文件的鏈接地址,下載所述檢測(cè)的Flash文件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取待檢測(cè)的Flash文件之前,所述方法還包括: 向搜索引擎發(fā)送對(duì)待檢測(cè)的Flash文件的搜索請(qǐng)求,所述搜索請(qǐng)求中攜帶所述待檢測(cè)的Flash文件所在網(wǎng)站域名的搜索命令; 接收所述搜索引擎返回的所述待檢測(cè)的Flash文件的地址; 相應(yīng)的,所述獲取待檢測(cè)的Flash文件,包括: 根據(jù)所述搜索引擎返回的所述檢測(cè)的Flash文件的地址,下載所述檢測(cè)的Flash文件。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼,包括: 查詢(xún)所述待檢測(cè)的Flash文件中的腳本代碼版本,并根據(jù)所述腳本代碼版本選取相應(yīng)的反編譯方式對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取待檢測(cè)的Flash文件之前,所述方法還包括: 根據(jù)預(yù)選保存的漏洞庫(kù)中包括的漏洞代碼,生成用于查詢(xún)所述漏洞代碼的正則表達(dá)式; 相應(yīng)的,所述查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼,包括: 根據(jù)所述正則表達(dá)式,查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述待檢測(cè)的Flash文件的源碼之后,所述方法還包括: 查詢(xún)所述源碼中的預(yù)設(shè)的函數(shù)中是否存在全局變量; 如果在所述源碼中的預(yù)設(shè)的函數(shù)中查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
7.根據(jù)權(quán)利要求1-6任一項(xiàng)所述的方法,其特征在于,所述確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞之后,所述方法還包括: 輸出所述待檢測(cè)的Flash文件的源碼中存在漏洞的源碼語(yǔ)句以及所述漏洞的源碼語(yǔ)句對(duì)應(yīng)的攻擊代碼。
8.—種檢測(cè)跨站腳本漏洞的裝置,其特征在于,所述裝置包括: 第一獲取模塊,用于獲取待檢測(cè)的Flash文件; 第二獲取模塊,用于對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼; 第一查詢(xún)模塊,用于查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼;第一確定模塊,用于如果在所述源碼中存在漏洞代碼查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第一獲取模塊,包括: 第一獲取單元,用于獲取本地中保存的待檢測(cè)的Flash文件; 第二獲取單元,用于根據(jù)本地獲取的待檢測(cè)的Flash文件的鏈接地址,下載所述檢測(cè)的Flash文件。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 發(fā)送模塊,用于向搜索引擎發(fā)送對(duì)待檢測(cè)的Flash文件的搜索請(qǐng)求,所述搜索請(qǐng)求中攜帶所述待檢測(cè)的Flash文件所在網(wǎng)站域名的搜索命令; 接收模塊,用于接收所述搜索引擎返回的所述待檢測(cè)的Flash文件的地址; 相應(yīng)的,所述第一獲取模塊,包括: 第三獲取單元,用于根據(jù)所述搜索引擎返回的所述檢測(cè)的Flash文件的地址,下載所述檢測(cè)的Flash文件。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第二獲取模塊具體用于: 查詢(xún)所述待檢測(cè)的Flash文件中的腳本代碼版本,并根據(jù)所述腳本代碼版本選取相應(yīng)的反編譯方式對(duì)所述待檢測(cè)的Flash文件進(jìn)行反編譯,獲取所述待檢測(cè)的Flash文件的源碼。
12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 生成模塊,用于根據(jù)預(yù)選保存的漏洞庫(kù)中包括的漏洞代碼,生成用于查詢(xún)所述漏洞代碼的正則表達(dá)式; 相應(yīng)的,所述第一查詢(xún)模塊具體用于: 根據(jù)所述正則表達(dá)式,查詢(xún)所述源碼中是否存在預(yù)先保存的漏洞庫(kù)中包括的漏洞代碼。
13.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 第二查詢(xún)模塊,用于查詢(xún)所述源碼中的預(yù)設(shè)的函數(shù)中是否存在全局變量; 第二確定模塊,用于如果在所述源碼中的預(yù)設(shè)的函數(shù)中查詢(xún)到全局變量,則確定所述待檢測(cè)的Flash文件存在跨站腳本漏洞。
14.根據(jù)權(quán)利要求8-13任一項(xiàng)所述的裝置,其特征在于,所述裝置還包括: 輸出模塊,用于輸出所述待檢測(cè)的Flash文件的源碼中存在漏洞的源碼語(yǔ)句以及所述漏洞的源碼語(yǔ)句對(duì)應(yīng)的攻擊代碼。
【文檔編號(hào)】G06F17/30GK104252599SQ201310269976
【公開(kāi)日】2014年12月31日 申請(qǐng)日期:2013年6月28日 優(yōu)先權(quán)日:2013年6月28日
【發(fā)明者】林椏泉 申請(qǐng)人:深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
无棣县| 通渭县| 周口市| 辽中县| 阳新县| 乳山市| 盘山县| 宜良县| 山东省| 罗山县| 尼玛县| 车险| 望江县| 石门县| 黄梅县| 清河县| 邹平县| 英德市| 云浮市| 明溪县| 大宁县| 承德县| 通州区| 临清市| 前郭尔| 南雄市| 鲜城| 漳浦县| 华池县| 九江市| 法库县| 阿坝县| 鄂托克旗| 诏安县| 赤壁市| 宁武县| 乐昌市| 大同市| 华亭县| 沙坪坝区| 乌鲁木齐市|