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