本發明專利技術實施例提供的數據庫類型的識別方法和裝置,基于web應用程序和其對應數據庫類型的概率統計進行數據庫識別預處理,并基于數據庫的對應標識來識別數據庫類型,有效地提高了數據庫類型識別的效率和概率,提高sql注入漏洞掃描系統整體的執行效率。
【技術實現步驟摘要】
本專利技術涉及無線網絡技術,尤其涉及一種數據庫類型的識別方法和裝置。
技術介紹
隨著互聯網技術的快速發展,瀏覽器/服務器(B/S)模式已經得到了廣泛的應用。在B/S模式中會頻繁出現用戶與后臺服務器之間進行交互的過程。具體為,用戶在客戶端的網頁上通過表單輸入并提交用戶輸入數據,服務端的應用根據用戶提交的用戶輸入數據構造結構化查詢語言(Structured Query Language,簡稱sql),提交到服務器進行處理,服務器返回處理結果。在開發B/S模式的應用程序時,由于開發人員的水平層次不齊,忽略了對用戶輸 入數據的合法性判斷,使應用程序存在安全隱患。有些攻擊者是通過sql注入的方式對服務器進行惡意攻擊。所述的sql注入就是通過將sql命令插入到web表單或輸入域名中提交給服務器,以達到欺騙服務器執行惡意sql命令的目的。具體地,攻擊者提交一段數據庫查詢代碼,根據服務器返回的結果,竊取機密數據、安裝木馬、甚至完全控制整個系統。因此就風險而言,對于web系統,sql注入已經位居各大web漏洞的首列。因而,sql注入漏洞的檢測在web安全中具有非常重要的意義,也受到了業界的高度重視。現有技術中,進行sql漏洞檢測的流程包括首先探測注入點sql注入點通常是存在于含有參數的動態網頁中,最常用的方法是在用戶輸入數據后加逗號、分號、括號等等。若web應用程序對用戶輸入數據未做過濾處理,則服務器將返回錯誤的信息提示,據此判斷是否存在注入點;然后判斷服務器的數據庫類型找到注入點后,攻擊者會通過一些手段或者直接根據第一步的結果識別服務器的數據庫類型,便于后面更進一步的sql注入;接著讀取規則庫中的規則進行嘗試注入在進行完探測注入點的步驟后,若服務器并未返回錯誤信息,則需要讀取規則庫中的sql注入規則進一步進行盲注,檢測是否存在盲注漏洞。由于不同的web應用程序對應的后臺數據庫類型可能不同,所以sql注入漏洞檢測的規則庫對于不同類型的數據庫也是不同的。若檢測系統不能先識別出待測web系統的數據庫類型,則需要在后續的盲注過程中逐一遍歷所有數據庫所對應的所有注入規則,這樣會花費大量的時間,檢測效率很低。因此,在sql漏洞檢測的過程中,如何快速準確地識別出web系統服務器的數據庫類型具有重要意義。
技術實現思路
本專利技術實施例針對現有技術缺陷,提供一種數據庫類型的識別方法和裝置,以快速準確地識別服務器的數據庫類型。本專利技術實施例提供一種數據庫類型的識別方法,包括識別待進行sql注入漏洞檢測的web系統的開發語言,根據語言_類型概率表獲取與所述開發語言對應的、概率由大到小的數據庫類型排序信息;所述語言-類型概率表包括多種開發語言、多種數據庫類型以及各種數據庫類型應用各種開發語言進行開發的概率;按照所述排序信息的順序,應用與待識別數據庫類型對應的第一標識進行所述web系統數據庫類型的識別;其中,所述識別的過程包括在用戶輸入數據后面添加所述第一標識,分別獲取僅提交所述用戶輸入數據而返回的第一頁面信息,以及提交添加有所述第一標識的用戶輸入數據而返回的第二頁面信息,根據所述第一頁面信息與所述第二頁面信息是否相同,判斷所述Web系統的數據庫類型是否為所述待識別數據庫類型。 如上所述的方法,其中,所述第一標識為內置函數或變量或表達式。如上所述的方法,其中,所述根據所述第一頁面信息與所述第二頁面信息是否相同,判斷所述web系統的數據庫類型是否為所述待識別數據庫類型包括·在獲知所述第一頁面信息與所述第二頁面信息相同之后,繼續在所述用戶輸入數據后面添加與所述待識別數據庫類型對應的第二標識,獲取提交添加有所述第二標識的用戶輸入數據而返回的第三頁面信息,若所述第一頁面信息與所述第三頁面信息相同,則識別出所述web系統的數據庫類型為所述待識別數據庫類型。如上所述的方法,其中,所述第二標識為內置函數或變量或表達式。如上所述的方法,其中,所述方法還包括獲取各種數據庫類型應用各種開發語言進行開發的概率,生成所述語言-類型概率表。本專利技術實施例提供一種數據庫類型的識別裝置,包括第一識別模塊,用于識別待進行sql注入漏洞檢測的web系統的開發語言,根據語言-類型概率表獲取與所述開發語言對應的、概率由大到小的數據庫類型排序信息并發送給第二識別模塊;所述語言-類型概率表包括多種開發語言、多種數據庫類型以及各種數據庫類型應用各種開發語言進行開發的概率;第二識別模塊,用于按照所述第一識別模塊發送的所述排序信息的順序,應用與待識別數據庫類型對應的第一標識進行所述web系統數據庫類型的識別;其中,所述識別的過程包括在用戶輸入數據后面添加所述第一標識,分別獲取僅提交所述用戶輸入數據而返回的第一頁面信息,以及提交添加有所述第一標識的用戶輸入數據而返回的第二頁面信息,根據所述第一頁面信息與所述第二頁面信息是否相同,判斷所述web系統的數據庫類型是否為所述待識別數據庫類型。如上所述的識別裝置,其中,所述第一標識為內置函數或變量或表達式。如上所述的識別裝置,其中,所述第二識別模塊還用于在獲知所述第一頁面信息與所述第二頁面信息相同之后,繼續在所述用戶輸入數據后面添加與所述待識別數據庫類型對應的第二標識,獲取提交添加有所述第二標識的用戶輸入數據而返回的第三頁面信息,若所述第一頁面信息與所述第三頁面信息相同,則識別出所述web系統的數據庫類型為所述待識別數據庫類型。如上所述的識別裝置,其中,所述第二標識為內置函數或變量或表達式。如上所述的識別裝置,其中,還包括生成模塊,用于獲取各種數據庫類型應用各種開發語言進行開發的概率,并生成所述語言-類型概率表。本專利技術實施例提供的數據庫類型的識別方法和裝置,基于web應用程序和其對應數據庫類型的概率統計進行數據庫識別預處理,并基于數據庫的對應標識來識別數據庫類型,有效地提高了數據庫類型識別的效率和概率,提高了 sql注入漏洞掃描系統整體的執行效率。附圖說明圖I為本專利技術數據庫類型的識別方法實施例流程示意圖;圖2為本專利技術基于語言-類型概率表構建的概率模型示意圖;圖3為本專利技術數據庫識別過程實施例示意圖;圖4為本專利技術數據庫類型的識別裝置實施例結構示意圖。 具體實施例方式在進行sql注入漏洞檢測的過程中,當服務器沒有返回數據庫錯誤信息的情況下,識別數據庫類型需要利用不同類型數據庫的注入規則進行注入,然后根據服務器的返回頁面判斷數據庫類型,由于需要遍歷每種數據庫的注入規則,這樣在識別數據庫類型階段會很耗時。針對現有sql注入漏洞掃描系統中對數據庫類型識別的效率和概率較低的缺陷,本專利技術各實施例提供一種解決方案,即本專利技術實施例提供一種基于web應用和其對應數據庫類型的概率統計模型進行數據庫識別預處理,并基于數據庫的對應標識來識別數據庫類型的有效方法和裝置。應用本專利技術實施例可以有效地提高數據庫類型識別的效率和概率,提高sql注入漏洞掃描系統整體的執行效率。圖I為本專利技術數據庫類型的識別方法實施例流程示意圖,如圖I所示,該方法包括步驟100、識別待進行sql注入漏洞檢測的web系統的開發語言,根據語言-類型概率表獲取與所述開發語言對應的、概率由大到小的數據庫類型排序信息;本專利技術實施例中,在對一待進行sql注入漏洞檢測的web系統(以下簡稱待測web系統)服務器的數據庫類型進行識本文檔來自技高網...
【技術保護點】
一種數據庫類型的識別方法,其特征在于,包括:識別待進行sql注入漏洞檢測的web系統的開發語言,根據語言?類型概率表獲取與所述開發語言對應的、概率由大到小的數據庫類型排序信息;所述語言?類型概率表包括多種開發語言、多種數據庫類型以及各種數據庫類型應用各種開發語言進行開發的概率;按照所述排序信息的順序,應用與待識別數據庫類型對應的第一標識進行所述web系統數據庫類型的識別;其中,所述識別的過程包括:在用戶輸入數據后面添加所述第一標識,分別獲取僅提交所述用戶輸入數據而返回的第一頁面信息,以及提交添加有所述第一標識的用戶輸入數據而返回的第二頁面信息,根據所述第一頁面信息與所述第二頁面信息是否相同,判斷所述web系統的數據庫類型是否為所述待識別數據庫類型。
【技術特征摘要】
1.一種數據庫類型的識別方法,其特征在于,包括識別待進行Sql注入漏洞檢測的web系統的開發語言,根據語言-類型概率表獲取與所述開發語言對應的、概率由大到小的數據庫類型排序信息;所述語言-類型概率表包括多種開發語言、多種數據庫類型以及各種數據庫類型應用各種開發語言進行開發的概率;按照所述排序信息的順序,應用與待識別數據庫類型對應的第一標識進行所述web系統數據庫類型的識別;其中,所述識別的過程包括 在用戶輸入數據后面添加所述第一標識,分別獲取僅提交所述用戶輸入數據而返回的第一頁面信息,以及提交添加有所述第一標識的用戶輸入數據而返回的第二頁面信息,根據所述第一頁面信息與所述第二頁面信息是否相同,判斷所述web系統的數據庫類型是否為所述待識別數據庫類型。2.根據權利要求I所述的方法,其特征在于,所述第一標識為內置函數或變量或表達式。3.根據權利要求I或2所述的方法,其特征在于,所述根據所述第一頁面信息與所述第二頁面信息是否相同,判斷所述web系統的數據庫類型是否為所述待識別數據庫類型包括 在獲知所述第一頁面信息與所述第二頁面信息相同之后,繼續在所述用戶輸入數據后面添加與所述待識別數據庫類型對應的第二標識,獲取提交添加有所述第二標識的用戶輸入數據而返回的第三頁面信息,若所述第一頁面信息與所述第三頁面信息相同,則識別出所述web系統的數據庫類型為所述待識別數據庫類型。4.根據權利要求3所述的方法,其特征在于,所述第二標識為內置函數或變量或表達式。5.根據權利要求I所述的方法,其特征在于,所述方法還包括 獲取各種數據庫類型應用各種開發語言進行開發的概率,生成所述語言-類型概率表。6.一種...
【專利技術屬性】
技術研發人員:閆夙丹,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。