<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

基于腳本的網站漏洞掃描方法和系統的制作方法

文檔序號:6622504閱讀:369來源:國知局
基于腳本的網站漏洞掃描方法和系統的制作方法
【專利摘要】本發明涉及網絡應用安全領域,旨在提供基于腳本的網站漏洞掃描法方法和系統。該基于腳本的網站漏洞掃描方法包括步驟:設置要掃描的網站URL,選擇網站要檢測的安全漏洞類型,啟動掃描引擎模塊,向需要檢測的URL構造并發送HTTP請求,接收HTTP響應并將所有數據保存在掃描引擎模塊,根據用戶選擇的安全漏洞類型,分別執行對應的漏洞檢測腳本模塊;該網站漏洞掃描系統包括掃描引擎模塊和漏洞檢測腳本模塊。本發明使漏洞的檢測邏輯與掃描引擎分離、降低二者的耦合度,漏洞檢測的邏輯由漏洞檢測腳本實現,掃描引擎實現通用的、不特別針對某一類漏洞的基本功能。
【專利說明】基于腳本的網站漏洞掃描方法和系統

【技術領域】
[0001]本發明是關于網絡應用安全領域,特別涉及基于腳本的網站漏洞掃描法方法和系統。

【背景技術】
[0002]隨著互聯網的發展,各種網絡應用層出不窮,在實現了各種功能的同時,也引入了各種安全漏洞,給攻擊者提供了方便。針對網站安全需求的不斷增長,出現了許多網站漏洞掃描器,掃描器通常會根據用戶提供的URL “爬行”整個網站,將網頁下載下來,再將網頁的內容進行檢測、分析以檢查網頁中是否有漏洞存在。
[0003]但是幾乎所有掃描器都面臨這樣的問題:(I)漏洞多種多樣,針對不同漏洞的檢測方法又各不相同,如何能夠合理設計掃描器,能最大限度的支持各種漏洞?(2)互聯網是一個高速發展的產業,隨時都可能會有新的網站安全漏洞產生出來,如何能夠快速的擴展掃描器以支持新的漏洞檢測方案?
[0004]現有掃描器大多使用靜態的配置文件用于描述各個漏洞的檢測策略。但是通常的配置文件往往缺乏靈活性,無法快速的擴展,也不便于安全研究人員使用。


【發明內容】

[0005]本發明的主要目的在于克服現有技術中的不足,提供用腳本語言來實現漏洞檢測策略的漏洞掃描方法和系統。為解決上述技術問題,本發明的解決方案是:
[0006]提供基于腳本的網站漏洞掃描方法,用于對所需檢測的網站進行漏洞掃描,具體包括下述步驟:
[0007]步驟A:設置要掃描的網站URL,選擇網站要檢測的安全漏洞類型;
[0008]步驟B:啟動掃描引擎模塊,向需要檢測的URL構造并發送HTTP請求,并接收HTTP響應;
[0009]步驟C:將步驟B中的HTTP請求和響應的所有數據,保存在掃描引擎模塊;
[0010]步驟D:根據用戶選擇的安全漏洞類型,分別執行對應的漏洞檢測腳本模塊;漏洞檢測腳本模塊通過API從掃描引擎模塊,獲取步驟C中保存的HTTP請求和響應的數據,漏洞檢測腳本模塊能根據獲取的數據判斷所需檢測的網站是否存在漏洞。
[0011 ] 在本發明中,步驟D中,漏洞檢測腳本模塊還能通過API來構造、發送新的HTTP請求,并根據得到的響應進行進一步的漏洞檢測。
[0012]在本發明中,所述基于腳本的網站漏洞掃描方法能配置每次掃描任務啟用哪些漏洞檢測腳本,用戶在任何時候,可以選擇檢測所有的漏洞,也可以只選擇一部分的漏洞,只有用戶選擇的漏洞,對應的腳本才會被執行。
[0013]提供實現所述的基于腳本的網站漏洞掃描方法的網站漏洞掃描系統,包括掃描引擎模塊和漏洞檢測腳本模塊,所述掃描引擎模塊能實現下述功能:
[0014](I)構造和發送HTTP請求,接受HTTP響應;
[0015](2)提供腳本語言的運行時環境;
[0016](3)向腳本程序提供調用接口,允許腳本語言使用引擎提供的功能;
[0017]所述功能(I)通過掃描引擎模塊內部的HTTP收發包模塊實現;掃描引擎模塊內部設有HTTP收發包模塊,用于模擬瀏覽器發送、接收HTTP請求;
[0018]所述功能⑵通過運行時環境模塊(如腳本語言的解釋器、編譯器)實現;掃描引擎模塊內部設有運行時環境模塊,是腳本程序運行所依賴的模塊;
[0019]所述功能(3)中,掃描引擎模塊向漏洞檢測腳本提供接口,具體接口包括:
[0020]接口 a:獲取需要掃描的目標網頁URL,獲取目標網頁URL的方式包括手工輸入、從已有的URL列表或任何存放著URL的數據庫導入、通過網絡抓包獲取、從網站爬蟲導入;
[0021]接口 b:獲取頁面內容對應的HTML Dom信息,HTML Dom信息包括鏈接、按鈕、表單、表單元素、文本、腳本;
[0022]接口 c:獲取掃描引擎模塊的HTTP請求的相關數據,包括Cookie、會話、HTTP頭、一次請求所用的時間;
[0023]接口 d:構造、發送HTTP的請求到被掃描的網站,并接收相應的HTTP響應,能設置HTTP請求的每一部分內容,包括Cookie,HTTP頭;
[0024]接口 e:將發現的漏洞信息上報給掃描引擎模塊,并反饋顯示(給用戶);
[0025]所述漏洞檢測腳本模塊通過掃描引擎模塊中的接口實現與掃描引擎模塊交互,每個漏洞檢測腳本模塊用于檢測一個類別的漏洞,且不同的漏洞檢測腳本模塊之間獨立執行,檢測結果不產生相互影響;
[0026]漏洞檢測腳本模塊分別對所需檢測的網站的頁面進行漏洞檢測,如果檢測出漏洞,漏洞檢測腳本模塊將獲得的漏洞信息返回給掃描引擎模塊;漏洞信息包括:出現漏洞的URL、漏洞的名稱、漏洞的詳細描述(比如造成該漏洞的代碼所在的位置、針對該漏洞進行攻擊的數據包等)、漏洞的修復建議(比如網頁代碼的修改建議、服務器的配置建議等);
[0027]漏洞檢測腳本模塊進行漏洞檢測時,通過將至少一種漏洞檢測方法以任意順序組合來進行頁面漏洞檢測,具體漏洞檢測方法包括:
[0028]方法a:依據被檢測URL的請求響應碼、HTTP頭、會話和Cookie、響應內容的文本長度、響應時間長短,判斷是否符合漏洞的特征;
[0029]方法b:在被檢測URL的頁面響應內容中,根據漏洞檢測邏輯的需要,進行文本查找、通配符或正則表達式匹配的方式,并依據匹配結果判斷是否符合漏洞的特征;
[0030]方法c:在被檢測URL的頁面響應內容中,根據漏洞檢測邏輯的需要,提取特定的內容,判斷是否符合漏洞的特征;特定的內容包括鏈接、表單、表單元素、按鈕、注釋、文本、標簽、標簽屬性、腳本、CSS定義;
[0031]方法d:提供自定義的字典文件,依次提取字典文件中的內容,用于漏洞檢測,內容包括每個字、詞、文本行;
[0032]方法e:在漏洞檢測腳本模塊進行漏洞檢測過程中,構造至少一個新的HTTP請求包,根據漏洞檢測邏輯的需要,將新的HTTP請求包和原始頁面的請求包一起,用于響應碼、頁面長度、HTTP頭、頁面內容等方面的差異性比對和用于內容的提取和匹配;漏洞檢測腳本根據差異性比對或內容匹配的結果,判斷是否存在漏洞。
[0033]在本發明中,所述漏洞檢測腳本模塊允許用戶根據所需檢測的網站,自定義編寫的漏洞檢測腳本,用于檢測用戶特定的安全問題。
[0034]在本發明中,所述漏洞檢測腳本能采用各種腳本語言實現,并運行在所述掃描引擎提供的漏洞檢測腳本運行時環境模塊中。
[0035]在本發明中,所述漏洞檢測腳本模塊將獲得的漏洞信息,通過掃描引擎模塊進行存儲和輸出。
[0036]與現有技術相比,本發明的有益效果是:
[0037]使漏洞的檢測邏輯與掃描引擎分離、降低二者的耦合度,漏洞檢測的邏輯由漏洞檢測腳本實現,掃描引擎實現通用的、不特別針對某一類漏洞的基本功能。這樣的優勢在于讓整個網站漏洞掃描系統易于擴展,可以非常方便的針對新發現的漏洞編寫策略檢測腳本。

【專利附圖】

【附圖說明】
[0038]圖1為基于腳本的網站漏洞掃描系統的各模塊示意圖。

【具體實施方式】
[0039]首先需要說明的是,本發明涉及網絡應用安全技術,是計算機技術在信息安全【技術領域】的一種應用。在本發明的實現過程中,會涉及到多個軟件功能模塊的應用。 申請人:認為,如在仔細閱讀申請文件、準確理解本發明的實現原理和發明目的以后,在結合現有公知技術的情況下,本領域技術人員完全可以運用其掌握的軟件編程技能實現本發明。前述軟件功能模塊包括但不限于:掃描引擎模塊、漏洞檢測腳本模塊等,凡本發明申請文件提及的均屬此范疇, 申請人:不再一一列舉。
[0040]下面結合【具體實施方式】對本發明作進一步詳細描述:
[0041]基于腳本的網站漏洞掃描系統包括掃描引擎和漏洞檢測腳本。掃描引擎,可以是任何形態和語言開發的程序,可以和用戶界面在同一個進程中,也可以是獨立的后臺進程,也可以是能夠被編譯到其他程序中的動態庫、靜態庫或其他形式的開發包;在開發語言方面,可以是java、C++或其他任何能夠實現功能的程序開發語言。
[0042]掃描引擎是掃描器運轉的核心,它驅動整個系統的運行。掃描引擎用于根據收到的任務,掃描所需檢測的網站中的所有頁面獲取信息,再分別對頁面調用具體的漏洞檢測腳本進行漏洞檢測,并將獲取的頁面信息傳遞給具體調用的漏洞檢測腳本。掃描引擎能實現下述功能:
[0043]功能I,構造和發送HTTP請求,接受HTTP響應;
[0044]功能2,提供腳本語言的運行時環境;
[0045]功能3,向腳本程序提供調用接口,允許腳本語言使用引擎提供的功能;
[0046]所述功能I通過掃描引擎內部的HTTP收發包模塊實現,模擬瀏覽器發送、接收HTTP請求;
[0047]所述功能2通過運行時環境模塊(如腳本語言的解釋器、編譯器)實現,該模塊是腳本程序運行所依賴的模塊,用于調用漏洞檢測腳本。腳本是任何可以被解釋或編譯之后運行的程序開發語言,可以是類似于Javascript、Python、Perl等通用的動態語言,或batch、shell等基于操作系統命令的腳本,也可以是由自己實現的腳本語言或者領域特定語H等;
[0048]所述功能3由掃描引擎實現,掃描引擎向漏洞檢測腳本提供如下接口:
[0049]接口 a:獲取需要掃描的目標網頁URL,獲取目標網頁URL的方式包括手工輸入、從已有的URL列表或任何存放著URL的數據庫導入、通過網絡抓包獲取、從網站爬蟲導入等;
[0050]接口 b:獲取頁面內容對應的HTML Dom信息,HTML Dom信息包括鏈接、按鈕、表單、表單元素、文本、腳本;
[0051]接口 c:獲取掃描器某一次HTTP請求的相關數據,包括Cookie、會話、HTTP頭、一次請求所用的時間等;
[0052]接口 d:構造、發送HTTP的請求到被掃描的網站,并接收相應的HTTP響應,可以設置HTTP請求的每一部分內容,比如Cookie,HTTP頭等;
[0053]接口 e:將發現的漏洞及相關信息上報給引擎,并最終呈現給用戶,漏洞信息包括:出現漏洞的URL、漏洞的名稱、漏洞的詳細描述(比如造成該漏洞的代碼所在的位置、針對該漏洞進行攻擊的數據包等)、漏洞的修復建議(比如網頁代碼的修改建議、服務器的配置建議等);
[0054]所述漏洞檢測腳本通過調用上述接口來與引擎交互,每個漏洞檢測腳本用于檢測一個類別的漏洞,且不同的漏洞檢測腳本之間獨立執行,檢測結果不產生相互影響。如果檢測出漏洞,漏洞檢測腳本將漏洞信息返回給掃描引擎。
[0055]漏洞檢測的步驟為:
[0056]步驟I,掃描器引擎對需要檢測的URL,構造并發送HTTP請求,接收HTTP響應;
[0057]步驟2,將上述HTTP請求和響應的所有內容(包括響應碼、HTTP頭、會話和Cookie、響應內容的文本長度),以及本次HTTP請求所用的時間保存起來(可以是保存在程序的數據庫中、文件中,也可以是內存中);
[0058]步驟3,分別執行各個漏洞檢測腳本(具體啟動哪些漏洞檢測腳本,由用戶設置),檢測腳本可以通過前述接口 a、b、c從掃描引擎獲取HTTP請求和響應的數據。漏洞檢測腳本會對獲得的數據進行分析,分析的手段和方法針對不同的漏洞特點而有所不同,基本的方法有如下幾種:
[0059]I)在HTTP響應的數據中查找特定的內容等,需要查找的內容根據具體的漏洞特性和網頁結構而定;
[0060]2)檢查HTTP響應的狀態碼、HTTP頭、會話和Cookie、響應內容的文本長度、響應時間長短等;
[0061]3)在HTTP響應內容中,根據具體漏洞的特性,提取特定的內容(包括鏈接、表單、表單元素、按鈕、注釋、文本、標簽、標簽屬性、腳本、CSS定義)進行檢測;
[0062]4)通過前述接口 d構造新的HTTP請求并發送,對新產生的HTTP響應進行新一輪的檢查,或者比較多次相似的HTTP請求得到的多次響應的差異等;漏洞檢測腳本會綜合運用上述各方法進行檢測。
[0063]步驟4,一旦漏洞檢測腳本認為當前頁面中存在漏洞,就會調用接口 e,把漏洞的相關信息上報;
[0064]步驟5,當需要執行的漏洞檢測腳本都執行完畢之后,針對一個頁面的漏洞檢測就結束了。
[0065] 最后,需要注意的是,以上列舉的僅是本發明的具體實施例。顯然,本發明不限于以上實施例,還可以有很多變形。本領域的普通技術人員能從本發明公開的內容中直接導出或聯想到的所有變形,均應認為是本發明的保護范圍。
【權利要求】
1.基于腳本的網站漏洞掃描方法,用于對所需檢測的網站進行漏洞掃描,其特征在于,具體包括下述步驟: 步驟A:設置要掃描的網站URL,選擇網站要檢測的安全漏洞類型; 步驟B:啟動掃描引擎模塊,向需要檢測的URL構造并發送HTTP請求,并接收HTTP響應; 步驟C:將步驟B中的HTTP請求和響應的所有數據,保存在掃描引擎模塊; 步驟D:根據用戶選擇的安全漏洞類型,分別執行對應的漏洞檢測腳本模塊;漏洞檢測腳本模塊通過API從掃描引擎模塊,獲取步驟C中保存的HTTP請求和響應的數據,漏洞檢測腳本模塊能根據獲取的數據判斷所需檢測的網站是否存在漏洞。
2.根據權利要求1所述的基于腳本的網站漏洞掃描方法,其特征在于,步驟D中,漏洞檢測腳本模塊還能通過API來構造、發送新的HTTP請求,并根據得到的響應進行進一步的漏洞檢測。
3.根據權利要求1所述的基于腳本的網站漏洞掃描方法,其特征在于,所述基于腳本的網站漏洞掃描方法能配置每次掃描任務啟用哪些漏洞檢測腳本,用戶在任何時候,可以選擇檢測所有的漏洞,也可以只選擇一部分的漏洞,只有用戶選擇的漏洞,對應的腳本才會被執行。
4.實現權利要求書I所述的基于腳本的網站漏洞掃描方法的網站漏洞掃描系統,包括掃描引擎模塊和漏洞檢測腳本模塊,其特征在于,所述掃描引擎模塊能實現下述功能: (1)構造和發送HTTP請求,接受HTTP響應; (2)提供腳本語言的運行時環境; (3)向腳本程序提供調用接口,允許腳本語言使用引擎提供的功能; 所述功能(I)通過掃描引擎模塊內部的HTTP收發包模塊實現;掃描引擎模塊內部設有HTTP收發包模塊,用于模擬瀏覽器發送、接收HTTP請求; 所述功能(2)通過運行時環境模塊實現;掃描引擎模塊內部設有運行時環境模塊,是腳本程序運行所依賴的模塊; 所述功能⑶中,掃描引擎模塊向漏洞檢測腳本提供接口,具體接口包括: 接口 a:獲取需要掃描的目標網頁URL,獲取目標網頁URL的方式包括手工輸入、從已有的URL列表或任何存放著URL的數據庫導入、通過網絡抓包獲取、從網站爬蟲導入; 接口 b:獲取頁面內容對應的HTML Dom信息,HTML Dom信息包括鏈接、按鈕、表單、表單元素、文本、腳本; 接口 c:獲取掃描引擎模塊的HTTP請求的相關數據,包括Cookie、會話、HTTP頭、一次請求所用的時間; 接口 d:構造、發送HTTP的請求到被掃描的網站,并接收相應的HTTP響應,能設置HTTP請求的每一部分內容,包括Cookie,HTTP頭; 接口 e:將發現的漏洞信息上報給掃描引擎模塊,并反饋顯示; 所述漏洞檢測腳本模塊通過掃描引擎模塊中的接口實現與掃描引擎模塊交互,每個漏洞檢測腳本模塊用于檢測一個類別的漏洞,且不同的漏洞檢測腳本模塊之間獨立執行,檢測結果不產生相互影響; 漏洞檢測腳本模塊分別對所需檢測的網站的頁面進行漏洞檢測,如果檢測出漏洞,漏洞檢測腳本模塊將獲得的漏洞信息返回給掃描引擎模塊;漏洞信息包括:出現漏洞的URL、漏洞的名稱、漏洞的詳細描述、漏洞的修復建議; 漏洞檢測腳本模塊進行漏洞檢測時,通過將至少一種漏洞檢測方法以任意順序組合來進行頁面漏洞檢測,具體漏洞檢測方法包括: 方法a:依據被檢測URL的請求響應碼、HTTP頭、會話和Cookie、響應內容的文本長度、響應時間長短,判斷是否符合漏洞的特征; 方法b:在被檢測URL的頁面響應內容中,根據漏洞檢測邏輯的需要,進行文本查找、通配符或正則表達式匹配的方式,并依據匹配結果判斷是否符合漏洞的特征; 方法c:在被檢測URL的頁面響應內容中,根據漏洞檢測邏輯的需要,提取特定的內容,判斷是否符合漏洞的特征;特定的內容包括鏈接、表單、表單元素、按鈕、注釋、文本、標簽、標簽屬性、腳本、CSS定義; 方法d:提供自定義的字典文件,依次提取字典文件中的內容,用于漏洞檢測,內容包括每個字、詞、文本行; 方法e:在漏洞檢測腳本模塊進行漏洞檢測過程中,構造至少一個新的HTTP請求包,根據漏洞檢測邏輯的需要,將新的HTTP請求包和原始頁面的請求包一起,用于響應碼、頁面長度、HTTP頭、頁面內容等方面的差異性比對和用于內容的提取和匹配;漏洞檢測腳本根據差異性比對或內容匹配的結果,判斷是否存在漏洞。
5.根據權利要求4所述的基于腳本的網站漏洞掃描系統,其特征在于,所述漏洞檢測腳本模塊允許用戶根據所需檢測的網站,自定義編寫的漏洞檢測腳本,用于檢測用戶特定的安全問題。
6.根據權利要求4所述的基于腳本的網站漏洞掃描系統,其特征在于,所述漏洞檢測腳本能采用各種腳本語言實現,并運行在所述掃描引擎提供的漏洞檢測腳本運行時環境模塊中。
7.根據權利要求4所述的基于腳本的網站漏洞掃描系統,其特征在于,所述漏洞檢測腳本模塊將獲得的漏洞信息,通過掃描引擎模塊進行存儲和輸出。
【文檔編號】G06F21/57GK104200166SQ201410381334
【公開日】2014年12月10日 申請日期:2014年8月5日 優先權日:2014年8月5日
【發明者】林章峰, 高雪瑤, 王曉天, 范淵 申請人:杭州安恒信息技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影