一種xss漏洞檢測的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及網(wǎng)絡安全領(lǐng)域,尤其涉及一種XSS漏洞檢測方法及裝置。
【背景技術(shù)】
[0002]跨站腳本攻擊(Cross Site Scripting,簡稱XSS。原本應當是CSS,為了區(qū)別于層疊樣式表(Cascading Style Sheet,CSS),故稱XSS)是一種常見的網(wǎng)頁漏洞,一般是由于服務端對提交參數(shù)校驗不嚴格導致用戶(包括攻擊者)輸入的數(shù)據(jù)變成了網(wǎng)頁鏈接中的代碼,更改了原本的鏈接使得網(wǎng)頁信息或用戶信息被盜取,形成網(wǎng)頁漏洞。比如,現(xiàn)有一段輸入框的超級文本標記語言(Hyper Text Markup Language tag,HTML)代碼為〈input type =“text” name = “hel lowor Id” value = “xxx”>,其中 value的值 “xxx” 是由用戶提交的后服務端寫入的。由于服務端校驗不嚴格,若用戶輸入的不是“xxx”,而是“/>〈Script>al tert(‘xxxx’)〈/script>”,此時服務端直接將此字符串插入到框中,會造成〈input〉標簽被提前閉合,〈script〉部分被當成html代碼進行解析,形成漏洞。
[0003]現(xiàn)有的XSS漏洞的掃描方法一般是通過對提交參數(shù)注入大量的已知的payload(有效載荷)期望造成標簽閉合,比如插入“/>”等常見的攻擊代碼。然而,很多時候由于payload與具體的標簽相關(guān),當payload庫中的payload數(shù)量較大時,現(xiàn)有漏洞檢測方式需要針對每個pay load進行漏洞檢測,S卩,無法對payload進行分類篩選,無法預先剔除無效的pay load,漏洞檢測的工作量大,檢測效率低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例提供一種XSS漏洞檢測的方法及裝置,可減少XSS漏洞檢測的工作量,提高XSS漏洞檢測的效率。
[0005]本發(fā)明實施例提供了一種XSS漏洞檢測的方法,其可包括:
[0006]將預存的payload庫中包含的各個payload按照不同的標簽類型進行分類,所述pay load庫中包含多個標簽類型的pay load,每個標簽類型包含多個pay load;
[0007]當檢測到漏洞檢測點輸入檢測信息時,根據(jù)所述檢測信息確定待檢測的目標標簽類型;
[0008]從所述payload庫中分類得到的多個標簽類型的payload中查找所述目標標簽類型對應的payload,采用所述目標標簽類型對應的payload進行所述漏洞檢測點的XSS漏洞檢測。
[0009]其中,所述將預存的payload庫中包含的各個payload按照不同的標簽類型進行分類,包括:
[00?0]將所述pay load庫中包含的多個pay load按照其用以攻擊的超級文本標記語言HTML標簽類型確定各個所述pay load對應的標簽類型,并按照所述標簽類型將各個所述pay load進行分類以得到多組不同標簽類型的pay load。
[0011 ]其中,所述根據(jù)所述檢測信息確定待檢測的目標標簽類型,包括:
[0012]對所述檢測信息進行解析,從所述檢測信息中獲取標簽類型的標識信息,根據(jù)所述標簽類型的標識信息確定目標標簽類型。
[0013]其中,所述檢測信息包括:網(wǎng)頁鏈接地址,或者HTML文件;
[0014]所述標簽類型的標識信息包括:標簽對的開始標簽符和結(jié)束標簽符,或者單個標簽的標簽符。
[0015]其中,所述采用所述目標標簽類型對應的payload進行所述漏洞檢測點的XSS漏洞檢測,包括:
[0016]采用所述目標標簽類型的payload對所述漏洞檢測點中包含的所述目標標簽類型的標簽進行攻擊,以判斷是否存在所述目標標簽類型對應的漏洞。
[0017]本發(fā)明實施例還提供了一種XSS漏洞檢測的裝置,其可包括:
[0018]分類模塊,用于將預存的payload庫中包含的各個payload按照不同的標簽類型進行分類,所述pay load庫中包含多個標簽類型的pay load,每個標簽類型包含多個pay load ;
[0019]獲取模塊,用于當檢測到漏洞檢測點輸入檢測信息時,根據(jù)所述檢測信息確定待檢測的目標標簽類型;
[0020]檢測模塊,用于從所述payload庫中由所述分類模塊分類得到的多個標簽類型的payload中查找所述目標標簽類型對應的payload,采用所述目標標簽類型對應的payload進行所述漏洞檢測點的XSS漏洞檢測。
[0021 ]其中,所述分類模塊具體用于:
[0022]將所述payload庫中包含的多個payload按照其用以攻擊的超級文本標記語言HTML標簽類型確定各個所述pay load對應的標簽類型,并按照所述標簽類型將各個所述pay load進行分類以得到多組不同標簽類型的pay load。
[0023]其中,所述獲取模塊具體用于:
[0024]對所述檢測信息進行解析,從所述檢測信息中獲取標簽類型的標識信息,根據(jù)所述標簽類型的標識信息確定目標標簽類型。
[0025]其中,所述檢測信息包括:網(wǎng)頁鏈接地址,或者HTML文件;
[0026]所述標簽類型的標識信息包括:標簽對的開始標簽符和結(jié)束標簽符,或者單個標簽的標簽符。
[0027]其中,所述檢測模塊具體用于:
[0028]采用所述目標標簽類型的payload對所述漏洞檢測點中包含的所述目標標簽類型的標簽進行攻擊,以判斷是否存在所述目標標簽類型對應的漏洞。
[0029]實施本發(fā)明實施例,具有如下有益效果:
[°03°]本發(fā)明實施例可首先將預存的payload庫中包含的各個payload按照不同的標簽類型進行分類,以得到多組不同標簽類型的payload,其中每個標簽類型可包含多個payload。當檢測到漏洞檢測點輸入檢測信息觸發(fā)漏洞檢測時,可根據(jù)檢測信息確定待檢測的目標標簽類型,再從上述多個標簽類型的pay load中查找上述目標標簽類型對應的payload,進而可采用目標標簽類型對應的payload進行上述漏洞檢測點的XSS漏洞檢測。本發(fā)明實施例通過將payload庫中的payload進行分類再針對漏洞檢測點的檢測信息對應的目標標簽類型,通過標簽類型的匹配從上述payload庫中加載上述目標標簽類型對應的payload,采用上述目標標簽類型對應的payload進行漏洞檢測,無需將payload庫中包含的pay load都用來做漏洞檢測,增強了漏洞檢測的pay load攻擊的針對性,提高了 pay load攻擊的有效性,可減少XSS漏洞檢測的工作量,提高XSS漏洞檢測的效率。
【附圖說明】
[0031]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0032]圖1是本發(fā)明實施例提供的XSS漏洞檢測的方法的第一實施例流程示意圖;
[0033]圖2是本發(fā)明實施例提供的XSS漏洞檢測的方法的第二實施例流程示意圖;
[0034]圖3是本發(fā)明實施例提供的XSS漏洞檢測的裝置的實施例結(jié)構(gòu)示意圖。
【具體實施方式】
[0035]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0036]具體實現(xiàn)中,本發(fā)明實施例中所描述的標簽具體可HTML標簽,HTML標簽是HTML語言中最基本的單位,HTML標簽是HTML(標準通用標記語言下的一個應用)最重要的組成部分。HTML標簽可包括如下幾個特點:
[0037]1、由尖括號包圍的關(guān)鍵字,例如<html>;
[0038]2、HTML標簽可以成對出現(xiàn),例如<html>和</html>,其中,標簽對中的第一個標簽是開始標簽,第二個標簽是結(jié)束標簽。開始標簽也被稱為開放標簽,結(jié)束標簽頁被稱為閉合標簽;
[0039]3、HTML標簽也可以單獨出現(xiàn),例如,〈img src= “xxx.jpg,,/>等;
[0040]4、HTML標簽中成對出現(xiàn)的標簽,其內(nèi)容在兩個標簽中間(即在開始標簽和結(jié)束標簽中間),如<hl>標題</hl> ;單獨出現(xiàn)的標簽,貝Ij在標簽屬性中賦值,如〈input type =“text,,value = “按鈕”/>0
[0041]上述HTML的特點僅是舉例,而非窮舉,包含但不限于上述幾個特點,在此