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

一種漏洞掃描的方法、裝置及計算機(jī)可讀介質(zhì)與流程

文檔序號:11231056閱讀:338來源:國知局
一種漏洞掃描的方法、裝置及計算機(jī)可讀介質(zhì)與流程

【技術(shù)領(lǐng)域】

本發(fā)明涉及信息處理領(lǐng)域,尤其涉及一種漏洞掃描的方法、裝置及計算機(jī)可讀介質(zhì)。



背景技術(shù):

許多應(yīng)用服務(wù)會被發(fā)現(xiàn)存在0day漏洞,例如,sql(數(shù)據(jù)庫)注入、xss(跨站腳本攻擊)漏洞、上傳漏洞。由于這些漏洞往往很隱蔽,而且對軟件和網(wǎng)絡(luò)系統(tǒng)會帶來極大的安全隱患,因此,需要配備一些掃描方法進(jìn)行掃描。

目前常見的漏洞掃描方法是針對不同的應(yīng)用服務(wù)分別通過人工編譯的方式來獲取各個應(yīng)用服務(wù)對應(yīng)的漏洞掃描插件,然后手動操作已有的漏洞掃描插件進(jìn)行掃描。但是各類程序和軟件之間或多或少都會存在一些差異,漏洞也不盡相同。因此,需要大量人工操作來完成針對不同應(yīng)用服務(wù)漏洞的漏洞掃描插件,操作效率低。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供了一種漏洞掃描的方法、裝置及計算機(jī)可讀介質(zhì),能夠在一定程度上避免了人力參與,提高漏洞掃描效率。

一方面,本發(fā)明實(shí)施例提供了一種漏洞掃描的方法,所述方法包括:

通過指定接口采集漏洞掃描插件的基本參數(shù)信息;

根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件;

在漏洞掃描插件數(shù)據(jù)庫中存儲所述漏洞掃描插件;

基于所述漏洞掃描插件數(shù)據(jù)庫中已存儲的漏洞掃描插件進(jìn)行漏洞掃描。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,當(dāng)所述指定接口為插件編譯接口時,所述根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件包括:

將所述基本參數(shù)信息錄入至所述插件編譯接口的指定模板,生成所述漏洞掃描插件。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,當(dāng)所述指定接口為插件轉(zhuǎn)存接口時,所述根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件包括:

從所述基本參數(shù)信息中提取所述漏洞掃描插件。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,當(dāng)所述指定接口為插件轉(zhuǎn)換接口時,所述根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件包括:

從所述基本參數(shù)信息中提取原始漏洞掃描插件;

為所述原始漏洞掃描插件添加第一函數(shù)和/或第二函數(shù),得到所述與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件,所述第一函數(shù)用于將具有第一格式的輸入?yún)?shù)轉(zhuǎn)化為所述原始漏洞掃描插件的輸入?yún)?shù),所述第二函數(shù)用于將所述原始漏洞掃描插件的輸出參數(shù)轉(zhuǎn)化為具有第二格式的輸出參數(shù)。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述方法還包括:

根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述漏洞掃描插件對應(yīng)的標(biāo)識信息;

在漏洞掃描插件數(shù)據(jù)庫中存儲所述標(biāo)識信息。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述基于所述漏洞掃描插件數(shù)據(jù)庫中已存儲的漏洞掃描插件進(jìn)行漏洞掃描包括:

獲取待掃描對象對應(yīng)的標(biāo)識信息;

根據(jù)待掃描對象對應(yīng)的標(biāo)識信息,從漏洞掃描插件數(shù)據(jù)庫中查找相應(yīng)的漏洞掃描插件;

當(dāng)查找到相應(yīng)的漏洞掃描插件時,則調(diào)用所述掃描插件對所述待掃描對象進(jìn)行漏洞掃描。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述方法還包括:

采集用戶錄入的漏洞掃描代碼;

接收用戶輸入的運(yùn)行指令;

響應(yīng)于所述運(yùn)行指令,運(yùn)行所述漏洞掃描代碼;

輸出運(yùn)行結(jié)果。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述標(biāo)識信息包括指定關(guān)鍵字、md5信息、指定url的關(guān)鍵字、指定url的tag模式、指定目錄文件中的至少一種或多種。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述基本參數(shù)信息包括指紋名信息、驗(yàn)證入口信息、匹配響應(yīng)值以及客戶端信息中的一個或多個。

第二方面,本發(fā)明實(shí)施例還提供了一種漏洞掃描的裝置,所述裝置包括:

第一采集單元,用于通過指定接口采集漏洞掃描插件的基本參數(shù)信息;

確定單元,用于根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件;

存儲單元,用于在漏洞掃描插件數(shù)據(jù)庫中存儲所述漏洞掃描插件;

掃描單元,用于基于所述漏洞掃描插件數(shù)據(jù)庫中已存儲的漏洞掃描插件進(jìn)行漏洞掃描。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述確定單元,用于當(dāng)所述指定接口為插件編譯接口時,將所述基本參數(shù)信息錄入至所述插件編譯接口的指定模板,生成所述漏洞掃描插件。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述確定單元,用于:

當(dāng)所述指定接口為插件轉(zhuǎn)存接口時,從所述基本參數(shù)信息中提取所述漏洞掃描插件。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述確定單元,用于:

當(dāng)所述指定接口為插件轉(zhuǎn)換接口時,從所述基本參數(shù)信息中提取原始漏洞掃描插件;為所述原始漏洞掃描插件添加第一函數(shù)和/或第二函數(shù),得到所述與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件,所述第一函數(shù)用于將具有第一格式的輸入?yún)?shù)轉(zhuǎn)化為所述原始漏洞掃描插件的輸入?yún)?shù),所述第二函數(shù)用于將所述原始漏洞掃描插件的輸出參數(shù)轉(zhuǎn)化為具有第二格式的輸出參數(shù)。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述確定單元還用于根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述漏洞掃描插件對應(yīng)的標(biāo)識信息;

所述存儲單元,還用于在漏洞掃描插件數(shù)據(jù)庫中存儲所述標(biāo)識信息。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述掃描單元包括:

獲取子單元,用于獲取待掃描對象對應(yīng)的標(biāo)識信息;

查找子單元,用于根據(jù)待掃描對象對應(yīng)的標(biāo)識信息,從漏洞掃描插件數(shù)據(jù)庫中查找相應(yīng)的漏洞掃描插件;

調(diào)用子單元,用于當(dāng)查找到相應(yīng)的漏洞掃描插件時,則調(diào)用所述掃描插件對所述待掃描對象進(jìn)行漏洞掃描。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述裝置還包括:

第二采集單元,用于采集用戶錄入的漏洞掃描代碼;

接收單元,用于接收用戶輸入的運(yùn)行指令;

運(yùn)行單元,用于響應(yīng)于所述運(yùn)行指令,運(yùn)行所述漏洞掃描代碼;

輸出單元,用于輸出運(yùn)行結(jié)果。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述標(biāo)識信息包括指定關(guān)鍵字、md5信息、指定url的關(guān)鍵字、指定url的tag模式、指定目錄文件中的至少一種或多種。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述基本參數(shù)信息包括指紋名信息、驗(yàn)證入口信息、匹配響應(yīng)值以及客戶端信息中的一個或多個。

本發(fā)明實(shí)施例還提供了一種計算機(jī)可讀介質(zhì),包括:計算機(jī)可執(zhí)行指令,當(dāng)該計算機(jī)可執(zhí)行指令被運(yùn)行時執(zhí)行以下步驟;

通過指定接口采集漏洞掃描插件的基本參數(shù)信息;

根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件;

在漏洞掃描插件數(shù)據(jù)庫中存儲所述漏洞掃描插件;

基于所述漏洞掃描插件數(shù)據(jù)庫中已存儲的漏洞掃描插件進(jìn)行漏洞掃描。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,當(dāng)所述指定接口為插件編譯接口時,所述根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件的步驟可具體執(zhí)行為以下步驟:

將所述基本參數(shù)信息錄入至所述插件編譯接口的指定模板,生成所述漏洞掃描插件。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,當(dāng)所述指定接口為插件轉(zhuǎn)存接口時,所述根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件可具體執(zhí)行為以下步驟:

從所述基本參數(shù)信息中提取所述漏洞掃描插件。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,當(dāng)所述指定接口為插件轉(zhuǎn)換接口時,所述根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件可具體執(zhí)行為以下步驟:

從所述基本參數(shù)信息中提取原始漏洞掃描插件;

為所述原始漏洞掃描插件添加第一函數(shù)和/或第二函數(shù),得到所述與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件,所述第一函數(shù)用于將具有第一格式的輸入?yún)?shù)轉(zhuǎn)化為所述原始漏洞掃描插件的輸入?yún)?shù),所述第二函數(shù)用于將所述原始漏洞掃描插件的輸出參數(shù)轉(zhuǎn)化為具有第二格式的輸出參數(shù)。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,當(dāng)該計算機(jī)可執(zhí)行指令被運(yùn)行時還可以執(zhí)行以下步驟,包括:

根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述漏洞掃描插件對應(yīng)的標(biāo)識信息;

在漏洞掃描插件數(shù)據(jù)庫中存儲所述標(biāo)識信息。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述基于所述漏洞掃描插件數(shù)據(jù)庫中已存儲的漏洞掃描插件進(jìn)行漏洞掃描可具體執(zhí)行為以下步驟:

獲取待掃描對象對應(yīng)的標(biāo)識信息;

根據(jù)待掃描對象對應(yīng)的標(biāo)識信息,從漏洞掃描插件數(shù)據(jù)庫中查找相應(yīng)的漏洞掃描插件;

當(dāng)查找到相應(yīng)的漏洞掃描插件時,則調(diào)用所述掃描插件對所述待掃描對象進(jìn)行漏洞掃描。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,當(dāng)該計算機(jī)可執(zhí)行指令被運(yùn)行時還可以執(zhí)行以下步驟,包括:

采集用戶錄入的漏洞掃描代碼;

接收用戶輸入的運(yùn)行指令;

響應(yīng)于所述運(yùn)行指令,運(yùn)行所述漏洞掃描代碼;

輸出運(yùn)行結(jié)果。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述標(biāo)識信息包括指定關(guān)鍵字、md5信息、指定url的關(guān)鍵字、指定url的tag模式、指定目錄文件中的至少一種或多種。

如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述基本參數(shù)信息包括指紋名信息、驗(yàn)證入口信息、匹配響應(yīng)值以及客戶端信息中的一個或多個。

本發(fā)明實(shí)施例提供的一種漏洞掃描的方法、裝置以及計算機(jī)可讀介質(zhì),其記錄的計算機(jī)程序可實(shí)現(xiàn)的方法,通過設(shè)置具有可涵蓋各類可用的漏洞掃描插件的數(shù)據(jù)庫,同時配置相應(yīng)的標(biāo)識信息以方便調(diào)用,使得該方法相比于現(xiàn)有技術(shù)來說,本發(fā)明實(shí)施例提供的方案在漏洞掃描過程中,可以直接調(diào)用數(shù)據(jù)中已有的漏洞掃描插件進(jìn)行掃描,避免了人力參與,提高了漏洞掃描效率。

【附圖說明】

為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。

圖1是本發(fā)明實(shí)施例提供的一種漏洞掃描系統(tǒng)的組成框圖;

圖2為本發(fā)明實(shí)施例提供的一種漏洞掃描的方法流程圖;

圖3為本發(fā)明實(shí)施例提供的另一種漏洞掃描的方法流程圖;

圖4是本發(fā)明實(shí)施例提供的一種漏洞掃描插件的提交界面示意圖;

圖5為本發(fā)明實(shí)施例提供的另一種漏洞掃描的方法流程圖;

圖6是本發(fā)明實(shí)施例提供的另一種漏洞掃描插件的提交界面示意圖;

圖7為本發(fā)明實(shí)施例提供的另一種漏洞掃描的方法流程圖;

圖8為本發(fā)明實(shí)施例提供的另一種漏洞掃描的方法流程圖;

圖9為本發(fā)明實(shí)施例提供的另一種漏洞掃描的方法流程圖;

圖10是本發(fā)明實(shí)施例提供的一種漏洞掃描裝置的組成框圖;

圖11是本發(fā)明實(shí)施例提供的另一種漏洞掃描裝置的組成框圖;

圖12是本發(fā)明實(shí)施例提供的另一種漏洞掃描裝置的組成框圖。

【具體實(shí)施方式】

為了更好的理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。

應(yīng)當(dāng)明確,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

在本發(fā)明實(shí)施例中使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。

應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨(dú)存在a,同時存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。

本發(fā)明實(shí)施例提供了一種漏洞掃描的方法,可適用于如圖1所示的漏洞掃描系統(tǒng),該系統(tǒng)包括漏洞掃描器、網(wǎng)絡(luò)傳輸設(shè)備(路由器或交換機(jī)等)、待掃描對象(web端、應(yīng)用服務(wù)或網(wǎng)絡(luò)服務(wù)等)、漏洞掃描插件數(shù)據(jù)庫。漏洞掃描器可以是基于b/s或c/s架構(gòu)等實(shí)現(xiàn)的各類交互系統(tǒng)或搭建的網(wǎng)絡(luò)平臺。在漏洞掃描過程中,由漏洞掃描器調(diào)用本地或外置漏洞掃描插件數(shù)據(jù)庫中的已有插件發(fā)起針對待掃描對象的訪問或資源獲取請求等;該請求經(jīng)由網(wǎng)絡(luò)傳輸設(shè)備傳輸至待掃描對象;待掃描對象在接收到該網(wǎng)絡(luò)請求后進(jìn)行處理并返回處理結(jié)果;該處理結(jié)果再經(jīng)由網(wǎng)絡(luò)傳輸設(shè)備傳輸至漏洞掃描器;而后,漏洞掃描器對該處理結(jié)果進(jìn)行甄別,以確定是否存在漏洞。

為降低漏洞掃描插件編譯過程中的人工成本,提高漏洞掃描效率,本發(fā)明實(shí)施例針對性在漏洞掃描流程及相應(yīng)系統(tǒng)中引入漏洞掃描插件數(shù)據(jù)庫的概念,以便編譯和存儲各類漏洞掃描插件。

結(jié)合新進(jìn)引入的漏洞掃描插件數(shù)據(jù)庫,本發(fā)明實(shí)施例在此提供一種漏洞掃描的具體實(shí)現(xiàn)方法,該方法流程如圖2所示,包括:

101、通過指定接口采集漏洞掃描插件的基本參數(shù)信息。

其中,指定接口為漏洞掃描插件數(shù)據(jù)庫的數(shù)據(jù)采集接口,例如api等,可用于接收與漏洞掃描插件相關(guān)的信息。

此處提到的基本參數(shù)信息一般可包括指紋名信息、驗(yàn)證入口信息、匹配響應(yīng)值以及客戶端信息,或者是具體的漏洞掃描插件的源代碼或代碼包。

指紋名信息為應(yīng)用服務(wù)和操作系統(tǒng)的特有屬性,例如應(yīng)用服務(wù)的指紋名信息可以包括服務(wù)端口、服務(wù)名、版本及提供商等;操作系統(tǒng)的指紋信息可以包括系統(tǒng)的版本、內(nèi)核版本等。

驗(yàn)證入口信息為存在漏洞的服務(wù)請求端口或漏洞掃描時可接受掃描請求的端口,可以包括指定ip地址或url等。

匹配響應(yīng)值為指定服務(wù)處理掃描服務(wù)后得到的異常值或正常值。

客戶端信息就是指享受服務(wù)的客戶端對應(yīng)的各項屬性信息,例如,賬號、用戶描述信息等。

漏洞掃描插件的源代碼或代碼包是指可直接調(diào)用的程序代碼。

當(dāng)然,本發(fā)明實(shí)施例并不限制漏洞提供者提交的信息只有這些,也可以在進(jìn)一步提交有關(guān)漏洞的介紹信息、提供者的個人描述信息等擴(kuò)展信息方便其它人員查看。

102、根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件。

在本發(fā)明實(shí)施例中,指定接口根據(jù)接收數(shù)據(jù)的形式不同可劃分為插件編譯接口、插件轉(zhuǎn)存接口和插件轉(zhuǎn)換接口。插件編譯接口用于接收可用于生成漏洞掃描插件的參數(shù)信息,漏洞掃描插件數(shù)據(jù)庫可通過由此接口接收到的信息編譯新的漏洞掃描插件。插件轉(zhuǎn)存接口用于接收漏洞掃描插件的成品,插件提供者可通過該接口直接將符合漏洞掃描插件數(shù)據(jù)庫要求的格式、語言環(huán)境等條件的漏洞掃描插件進(jìn)行上傳,插件轉(zhuǎn)換接口用于接收不符合漏洞掃描插件數(shù)據(jù)庫要求的格式、語言環(huán)境等條件的漏洞掃描插件,為是這些插件能夠運(yùn)行,需要對其數(shù)據(jù)參數(shù)和輸出參數(shù)的格式進(jìn)行調(diào)整。由于這三類接口要求錄入的參數(shù)格式等不同,因此相應(yīng)的錄入方式也有所區(qū)別,后文會詳細(xì)介紹。

103、在漏洞掃描插件數(shù)據(jù)庫中存儲所述漏洞掃描插件。

104、基于所述漏洞掃描插件數(shù)據(jù)庫中已存儲的漏洞掃描插件進(jìn)行漏洞掃描。

補(bǔ)充來說,為了避免重復(fù)存儲、節(jié)省存儲空間等目的,在漏洞掃描插件數(shù)據(jù)庫中存儲所述漏洞掃描插件的過程中,可以選擇對新存儲的漏洞掃描插件進(jìn)行查重判斷。查重判斷的流程可以通過代碼比對或標(biāo)識信息比對,當(dāng)發(fā)現(xiàn)代碼相同或標(biāo)識信息相同時,可以選擇放棄存儲新錄入的漏洞掃描插件或使用新存儲的漏洞掃描插件來替代已有插件。當(dāng)然也可以直接存儲兩個插件,當(dāng)用戶調(diào)用時將兩個插件同時提供給用戶,并讓用戶進(jìn)行選擇。

本發(fā)明實(shí)施例提供的一種漏洞掃描的方法,通過設(shè)置具有可涵蓋各類可用的漏洞掃描插件的數(shù)據(jù)庫,同時配置相應(yīng)的標(biāo)識信息以方便調(diào)用,使得該方法相比于現(xiàn)有技術(shù)來說,本發(fā)明實(shí)施例提供的方案在漏洞掃描過程中,可以直接調(diào)用數(shù)據(jù)中已有的漏洞掃描插件進(jìn)行掃描,避免了人力參與,提高了漏洞掃描效率。

基于前述流程外,為方便數(shù)據(jù)庫存儲和后續(xù)查找,還會根據(jù)采集到的基本參數(shù)信息,確定各個漏洞掃描插件的標(biāo)識信息,標(biāo)識信息一般指待掃描對象各自對應(yīng)的獨(dú)有信息,例如,指定關(guān)鍵字、md5(messagedigestalgorithm,消息摘要算法第五版)信息、指定url的關(guān)鍵字、指定url(uniformresourelocator:統(tǒng)一資源定位器)的tag(標(biāo)簽)模式、指定目錄文件等信息。具體的獲取方式為:根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述漏洞掃描插件對應(yīng)的標(biāo)識信息;在漏洞掃描插件數(shù)據(jù)庫中存儲所述標(biāo)識信息。

在本發(fā)明實(shí)施例中,在建立前述漏洞掃描插件數(shù)據(jù)庫的過程中,為了方便漏洞提供者提交漏洞掃描插件至該數(shù)據(jù)庫,因此,提供了以下三種插件提交方法,分別對應(yīng)于前述的插件編譯接口、插件轉(zhuǎn)存接口以及插件轉(zhuǎn)換接口。具體如下:

在基于插件編譯接口的提交方法中漏洞提供者只需要提交幾項有關(guān)漏洞及漏洞檢測的基本參數(shù)信息,就可以完成漏洞提交,而相應(yīng)的插件可有前述漏洞掃描器或該數(shù)據(jù)庫自行編譯完成。因此,前述步驟102可具體執(zhí)行為下述流程a102,可參照圖3所示內(nèi)容,包括:

a102、將所述基本參數(shù)信息錄入至所述插件編譯接口的指定模板,生成所述漏洞掃描插件。

結(jié)合下表1中所示內(nèi)容,本發(fā)明實(shí)施例提供了一種可能的參數(shù)信息組合,該組合中包括了基本參數(shù)信息和擴(kuò)展參數(shù)信息。

表1參數(shù)信息組合

結(jié)合上表1的內(nèi)容,為了方便漏洞提供者提交以及后臺采集,本發(fā)明實(shí)施例提供了如圖4所示的提交界面。為了方便體現(xiàn)界面效果,各個表項使用了字母簡稱。并且,該圖4所示內(nèi)容并不是所有欄目都需要漏洞提供者填寫,但是基本參數(shù)信息一般為必填項。

其中,所述插件編譯接口的指定模板為自定義,可以根據(jù)漏洞掃描器支持的機(jī)器語言或編譯語言所提供的代碼生成規(guī)則進(jìn)行設(shè)定,例如,目前常用的java語言等。如下述以json格式存儲的代碼段示例可以發(fā)現(xiàn),該指定生成規(guī)則即是預(yù)先設(shè)定好代碼調(diào)用邏輯,通過采集到的如圖4所示出的基本參數(shù)信息,對預(yù)先設(shè)定好的各個代碼進(jìn)行賦值。當(dāng)然本發(fā)明實(shí)施例并不限定前述指定生成規(guī)則。

代碼段示例:

{

“vul_url”:“faq.php?action=groupermission%gids[99]=`&gids[100][0]->”,

“author”:“map”,

“title”:“discuz7.xfaq.phpsqlinjection”,

“match_content”:“mysqlqueryerror”,

“platform”:“all”,

“publish_date”:“2014-09-22”,

“detail_url”:“http://www.wooyun.org/bugs/wooyun-2014-066095”

}

以上代碼為一種可實(shí)現(xiàn)的示例,用于根據(jù)“vul_url”、“author”、“title”、“match_content”、“platform”、“publish_date”、“detail_url”的各個賦值,對指定“detail_url”對應(yīng)的地址進(jìn)行漏洞掃描。

在該提交方式中,標(biāo)識信息可以直接使用前述表1中各表項的內(nèi)容來表示。例如,appname、vul_url中的指定關(guān)鍵字等等,當(dāng)然,標(biāo)識信息也可以由漏洞掃描產(chǎn)檢數(shù)據(jù)庫自行生成。

除前述較為簡單的插件提交方式外,還提供了一種相比較為自由化的插件提交方法,即基于插件轉(zhuǎn)存接口的提交方法,在該方法中漏洞提供者可以根據(jù)自己需要自行編譯漏洞掃描插件,此時,漏洞掃描插件數(shù)據(jù)庫按照指定方式存儲即可。前述步驟102可具體執(zhí)行為下述流程b102,可參照圖5所示內(nèi)容,包括:

b102、從所述基本參數(shù)信息中提取所述漏洞掃描插件。

與基于插件編譯接口的提交方法不同,該方法中基本參數(shù)信息一般包括漏洞掃描插件的源代碼、代碼包和相應(yīng)的標(biāo)識信息即可,可以不提供其它的參數(shù)信息。在該方法中,提交的漏洞掃描插件的源代碼、代碼包需按照漏洞掃描器或漏洞掃描插件數(shù)據(jù)庫公示的要求進(jìn)行編譯,或者來自第三方平臺等開源的漏洞掃描插件等。這一類漏洞掃描插件的特點(diǎn)是漏洞掃描器或漏洞掃描插件數(shù)據(jù)庫可以了解其源代碼中所使用的函數(shù)類,比較方便直接調(diào)用。如圖6所示的內(nèi)容展示了一種代碼提交界面。在該界面中,漏洞提供者可以直接上傳自編譯的原始代碼。

進(jìn)一步來說,為了統(tǒng)一代碼提交格式,以方便后續(xù)調(diào)用,還可以在上述代碼提交界面另附代碼格式說明。

例如:

1、類名需要和填寫的title相同,且不能帶空格和中文。

2、類的函數(shù)名必須為detect_vul,參數(shù)需包括self、root_url(指紋識別模塊傳遞過來的指紋根目錄入口)以及manual_headers(提交任務(wù)時傳遞過來的自定義字典格式請求頭)。

3、必須有returntrue和returnfalse。

在該提交方式中,標(biāo)識信息一般由漏洞提供者直接提供,也可以由漏洞掃描產(chǎn)檢數(shù)據(jù)庫自行生成。

除前述兩種插件提交方式外,還提供了一種的插件提交方法,即基于插件轉(zhuǎn)換接口的提交方法,該方法用于接收不開源的漏洞檢測插件,可以理解為漏洞掃描器或漏洞掃描插件數(shù)據(jù)庫無法獲知其內(nèi)部代碼。這類代碼一般都是已封裝好的插件,只公開輸入?yún)?shù)要求和輸出參數(shù)格式,因此對于此類插件,在本發(fā)明實(shí)施例中一般需要做一定的格式轉(zhuǎn)換才能實(shí)現(xiàn)該類插件的調(diào)用。前述步驟102可具體執(zhí)行為下述流程c1021和c1022,可參照圖7所示內(nèi)容,包括:

c1021、從所述基本參數(shù)信息中提取原始漏洞掃描插件。

c1022、為所述原始漏洞掃描插件添加第一函數(shù)和/或第二函數(shù),得到所述與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件。

其中,所述第一函數(shù)用于將具有第一格式的輸入?yún)?shù)轉(zhuǎn)化為所述原始漏洞掃描插件的輸入?yún)?shù),所述第二函數(shù)用于將所述原始漏洞掃描插件的輸出參數(shù)轉(zhuǎn)化為具有第二格式的輸出參數(shù)。第一格式和第二格式為漏洞掃描插件數(shù)據(jù)庫自行定義的格式,可根據(jù)實(shí)際需要進(jìn)行配置。

下述代碼段作為格式轉(zhuǎn)換的一種可能的實(shí)現(xiàn)方式,實(shí)現(xiàn)了為此類插件附加相應(yīng)的調(diào)用函數(shù)和結(jié)果導(dǎo)出函數(shù),以實(shí)現(xiàn)對與此類函數(shù)的調(diào)用和結(jié)果輸出。

在上述代碼段中,通過為非開源的函數(shù)提供輸入?yún)?shù)appname(待掃描對象的標(biāo)識信息)以及root_url(驗(yàn)證入口信息)來啟動相應(yīng)插件函數(shù),同時通過結(jié)果返回函數(shù)輸出判斷結(jié)果。

在該提交方式中,標(biāo)識信息一般由漏洞提供者提交,也可以由漏洞掃描產(chǎn)檢數(shù)據(jù)庫自行生成。

結(jié)合通過前述方法構(gòu)建的漏洞掃描插件數(shù)據(jù)庫,本發(fā)明實(shí)施例針對步驟104的實(shí)現(xiàn),提供了如圖8所示的具體實(shí)現(xiàn)方法,包括:

1041、獲取待掃描對象對應(yīng)的標(biāo)識信息。

其中,待掃描對象是指待確定的服務(wù)漏洞,其標(biāo)識信息的表達(dá)方式與漏洞掃描插件的表達(dá)方式一致,具體限定可參照前文描述,此處不再贅述。

1042、根據(jù)待掃描對象對應(yīng)的標(biāo)識信息,從漏洞掃描插件數(shù)據(jù)庫中查找相應(yīng)的漏洞掃描插件。

由于漏洞掃描插件數(shù)據(jù)庫中在錄入漏洞掃描插件時就會存儲各插件與相應(yīng)的標(biāo)識信息,因此,通過搜索標(biāo)識信息即可查找到相應(yīng)的漏洞掃描插件。

若漏洞掃描插件數(shù)據(jù)庫中僅存有各個漏洞掃描插件,那么可以設(shè)置一些匹配規(guī)則來通過標(biāo)識信息搜索到相關(guān)漏洞掃描插件。匹配規(guī)則可以是關(guān)鍵字匹配等。

1043、當(dāng)查找到相應(yīng)的漏洞掃描插件時,則調(diào)用所述掃描插件對所述待掃描對象進(jìn)行漏洞掃描。

另外,為了方便漏洞提供者確保上傳代碼的可靠性,在本發(fā)明實(shí)施例的一種可能的實(shí)現(xiàn)方式中,還為漏洞提供者提供了在線測試的流程,以方便漏洞提供者對漏洞的測試。該流程如圖9所示,包括:

201、采集用戶錄入的漏洞掃描代碼。

為方便用戶操作,漏洞掃描器或漏洞掃描插件數(shù)據(jù)庫可以為用戶提供一個操作界面,在該操作界面中提供相應(yīng)的輸入欄。用戶可以在相應(yīng)的輸入欄中錄入漏洞掃描代碼并進(jìn)行修改。

202、接收用戶輸入的運(yùn)行指令。

運(yùn)行指令可以是由字符組成的計算機(jī)代碼指令,或者是對指定操作控件的操作。

203、響應(yīng)于所述運(yùn)行指令,運(yùn)行所述漏洞掃描代碼。

204、輸出運(yùn)行結(jié)果。

另外,為了方便其它使用者或用戶的查看,以上各方法流程所得到的輸出結(jié)果,都可以按照指定方式進(jìn)行顯示,例如通過數(shù)據(jù)庫對外交互界面顯示,或彈出提示框顯示等。

本發(fā)明實(shí)施例還提供了一種漏洞掃描的裝置,可用于實(shí)現(xiàn)前述各方法流程,其組成如圖10所示,所述裝置包括:

第一采集單元31,用于通過指定接口采集漏洞掃描插件的基本參數(shù)信息。

確定單元32,用于根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件。

存儲單元33,用于在漏洞掃描插件數(shù)據(jù)庫中存儲所述漏洞掃描插件。

掃描單元34,用于基于所述漏洞掃描插件數(shù)據(jù)庫中已存儲的漏洞掃描插件進(jìn)行漏洞掃描。

可選的是,所述確定單元32,用于當(dāng)所述指定接口為插件編譯接口時,將所述基本參數(shù)信息錄入至所述插件編譯接口的指定模板,生成所述漏洞掃描插件。

可選的是,所述確定單元32,用于當(dāng)所述指定接口為插件轉(zhuǎn)存接口時,從所述基本參數(shù)信息中提取所述漏洞掃描插件。

可選的是,所述確定單元32,用于當(dāng)所述指定接口為插件轉(zhuǎn)換接口時,從所述基本參數(shù)信息中提取原始漏洞掃描插件。為所述原始漏洞掃描插件添加第一函數(shù)和/或第二函數(shù),得到所述與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件,所述第一函數(shù)用于將具有第一格式的輸入?yún)?shù)轉(zhuǎn)化為所述原始漏洞掃描插件的輸入?yún)?shù),所述第二函數(shù)用于將所述原始漏洞掃描插件的輸出參數(shù)轉(zhuǎn)化為具有第二格式的輸出參數(shù)。

可選的是,所述確定單元32還用于根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述漏洞掃描插件對應(yīng)的標(biāo)識信息。

所述存儲單元33,還用于在漏洞掃描插件數(shù)據(jù)庫中存儲所述標(biāo)識信息。

可選的是,如圖11所示,所述掃描單元34包括:

獲取子單元341,用于獲取待掃描對象對應(yīng)的標(biāo)識信息。

查找子單元342,用于根據(jù)待掃描對象對應(yīng)的標(biāo)識信息,從漏洞掃描插件數(shù)據(jù)庫中查找相應(yīng)的漏洞掃描插件。

調(diào)用子單元343,用于當(dāng)查找到相應(yīng)的漏洞掃描插件時,則調(diào)用所述掃描插件對所述待掃描對象進(jìn)行漏洞掃描。

可選的是,如圖12所示,所述裝置還包括:

第二采集單元35,用于采集用戶錄入的漏洞掃描代碼。

接收單元36,用于接收用戶輸入的運(yùn)行指令。

運(yùn)行單元37,用于響應(yīng)于所述運(yùn)行指令,運(yùn)行所述漏洞掃描代碼。

輸出單元38,用于輸出運(yùn)行結(jié)果。

可選的是,所述標(biāo)識信息包括指定關(guān)鍵字、md5信息、指定url的關(guān)鍵字、指定url的tag模式、指定目錄文件中的至少一種或多種。

可選的是,所述基本參數(shù)信息包括指紋名信息、驗(yàn)證入口信息、匹配響應(yīng)值以及客戶端信息中的一個或多個。

本發(fā)明實(shí)施例提供的一種漏洞掃描的裝置,通過設(shè)置具有可涵蓋各類可用的漏洞掃描插件的數(shù)據(jù)庫,同時配置相應(yīng)的標(biāo)識信息以方便調(diào)用,使得該方法相比于現(xiàn)有技術(shù)來說,本發(fā)明實(shí)施例提供的方案在漏洞掃描過程中,可以直接調(diào)用數(shù)據(jù)中已有的漏洞掃描插件進(jìn)行掃描,避免了人力參與,提高了漏洞掃描效率。

本發(fā)明實(shí)施例還提供了一種計算機(jī)可讀介質(zhì),包括:計算機(jī)可執(zhí)行指令,當(dāng)該計算機(jī)可執(zhí)行指令被運(yùn)行時執(zhí)行以下步驟;

通過指定接口采集漏洞掃描插件的基本參數(shù)信息;

根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件;

在漏洞掃描插件數(shù)據(jù)庫中存儲所述漏洞掃描插件;

基于所述漏洞掃描插件數(shù)據(jù)庫中已存儲的漏洞掃描插件進(jìn)行漏洞掃描。

可選的是,當(dāng)所述指定接口為插件編譯接口時,所述根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件的步驟可具體執(zhí)行為以下步驟:

將所述基本參數(shù)信息錄入至所述插件編譯接口的指定模板,生成所述漏洞掃描插件。

可選的是,當(dāng)所述指定接口為插件轉(zhuǎn)存接口時,所述根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件可具體執(zhí)行為以下步驟:

從所述基本參數(shù)信息中提取所述漏洞掃描插件。

可選的是,當(dāng)所述指定接口為插件轉(zhuǎn)換接口時,所述根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件可具體執(zhí)行為以下步驟:

從所述基本參數(shù)信息中提取原始漏洞掃描插件;

為所述原始漏洞掃描插件添加第一函數(shù)和/或第二函數(shù),得到所述與所述基本參數(shù)信息對應(yīng)的漏洞掃描插件,所述第一函數(shù)用于將具有第一格式的輸入?yún)?shù)轉(zhuǎn)化為所述原始漏洞掃描插件的輸入?yún)?shù),所述第二函數(shù)用于將所述原始漏洞掃描插件的輸出參數(shù)轉(zhuǎn)化為具有第二格式的輸出參數(shù)。

可選的是,當(dāng)該計算機(jī)可執(zhí)行指令被運(yùn)行時還可以執(zhí)行以下步驟,包括:

根據(jù)所述基本參數(shù)信息,按照與所述指定接口對應(yīng)的錄入方式,確定與所述漏洞掃描插件對應(yīng)的標(biāo)識信息;

在漏洞掃描插件數(shù)據(jù)庫中存儲所述標(biāo)識信息。

可選的是,所述基于所述漏洞掃描插件數(shù)據(jù)庫中已存儲的漏洞掃描插件進(jìn)行漏洞掃描可具體執(zhí)行為以下步驟:

獲取待掃描對象對應(yīng)的標(biāo)識信息;

根據(jù)待掃描對象對應(yīng)的標(biāo)識信息,從漏洞掃描插件數(shù)據(jù)庫中查找相應(yīng)的漏洞掃描插件;

當(dāng)查找到相應(yīng)的漏洞掃描插件時,則調(diào)用所述掃描插件對所述待掃描對象進(jìn)行漏洞掃描。

可選的是,當(dāng)該計算機(jī)可執(zhí)行指令被運(yùn)行時還可以執(zhí)行以下步驟,包括:

采集用戶錄入的漏洞掃描代碼;

接收用戶輸入的運(yùn)行指令;

響應(yīng)于所述運(yùn)行指令,運(yùn)行所述漏洞掃描代碼;

輸出運(yùn)行結(jié)果。

可選的是,所述標(biāo)識信息包括指定關(guān)鍵字、md5信息、指定url的關(guān)鍵字、指定url的tag模式、指定目錄文件中的至少一種或多種。

可選的是,所述基本參數(shù)信息包括指紋名信息、驗(yàn)證入口信息、匹配響應(yīng)值以及客戶端信息中的一個或多個。

本發(fā)明實(shí)施例提供的一種用于漏洞掃描的計算機(jī)可讀介質(zhì),其記錄的計算機(jī)程序可實(shí)現(xiàn)的方法,通過設(shè)置具有可涵蓋各類可用的漏洞掃描插件的數(shù)據(jù)庫,同時配置相應(yīng)的標(biāo)識信息以方便調(diào)用,使得該方法相比于現(xiàn)有技術(shù)來說,本發(fā)明實(shí)施例提供的方案在漏洞掃描過程中,可以直接調(diào)用數(shù)據(jù)中已有的漏洞掃描插件進(jìn)行掃描,避免了人力參與,提高了漏洞掃描效率。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。

在本發(fā)明所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,例如,多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。

上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)裝置(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)裝置等)或處理器(processor)執(zhí)行本發(fā)明各個實(shí)施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(read-onlymemory,rom)、隨機(jī)存取存儲器(randomaccessmemory,ram)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
当涂县| 辽宁省| 霍州市| 茶陵县| 平塘县| 茶陵县| 福贡县| 文安县| 宁都县| 商南县| 钦州市| 浮梁县| 旅游| 外汇| 灌阳县| 包头市| 富源县| 吉林市| 高雄市| 津市市| 麻栗坡县| 长春市| 鹿邑县| 金沙县| 清水县| 吉木乃县| 嘉荫县| 桂东县| 昌黎县| 左贡县| 梅河口市| 江源县| 康定县| 新余市| 广安市| 宁波市| 景谷| 巨鹿县| 页游| 临泽县| 呼图壁县|