System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及信息安全,具體涉及一種api注入攻擊識別方法及裝置。
技術介紹
1、xpath注入是一種通過操控應用程序生成的xpath查詢,來操縱和訪問本應受保護的xml數據的攻擊方式,xpath是用于查詢xml文檔的語言,類似于sql在關系數據庫中的作用。攻擊者通過向api或web應用提交惡意的xpath表達式,來繞過身份驗證、獲取敏感數據,甚至修改xml文檔中的數據。
2、xpath注入與sql注入類似,都是通過構造惡意輸入來操縱數據查詢和結果,但由于xml和xpath的結構不同,它有一些獨特的特點:
3、1、xpath查詢不區分數據類型,所有的查詢內容都被視為字符串,這意味著在xpath注入中,攻擊者無需像sql那樣擔心數據類型的問題,所有的注入都可以簡單地通過構造字符串來完成。
4、2、xpath允許通過表達式進行數據的任意遍歷,攻擊者可以通過xpath查詢結構中的父節點、子節點、兄弟節點等來訪問xml文檔的不同部分。攻擊者可以構造特定的查詢來遍歷整個xml文檔結構,甚至是訪問不同節點的內容。
5、3、與sql注入類似,攻擊者可以使用布爾條件(如or、and)操控xpath查詢,使查詢的條件始終成立,從而返回特定的結果。通過布爾邏輯組合,攻擊者可以逐步逼近正確的數據。
6、4、在xpath注入中,攻擊者可以利用xpath表達式訪問不同的節點類型,不僅限于元素節點,還可以訪問屬性、文本、父節點或子節點等。例如,可以構造查詢來訪問某個特定節點的父節點或兄弟節點,從而
7、攻擊者可以通過操控查詢繞過系統的身份驗證,進入受保護的區域或假冒其他用戶,通過操控xpath查詢,攻擊者可以訪問原本不應公開的敏感數據(如用戶名、密碼等),在某些情況下,攻擊者還可以利用xpath注入來修改或刪除xml數據,造成更大的損壞。
技術實現思路
1、針對現有技術中的問題,本專利技術實施例提供一種api注入攻擊識別方法及裝置,能夠至少部分地解決現有技術中存在的問題。
2、一方面,本專利技術提出一種api注入攻擊識別方法,包括:
3、對用戶輸入數據進行字符過濾和模式匹配,得到xpath注入特征識別結果;
4、對所述用戶輸入數據的每個輸入字段進行類型約束檢測,以及對所述用戶輸入數據進行語義分析,得到用戶輸入數據內容的合法性驗證結果;
5、對用戶請求行為進行監控,得到異常操作檢測結果;
6、對api請求中的xpath查詢的節點訪問深度和頻率進行監控,得到可疑行為識別結果;
7、對當前用戶請求進行上下文一致性檢查,得到可疑請求識別結果。
8、其中,所述對用戶輸入數據進行字符過濾,包括:
9、應用基于預定義過濾規則構建的過濾函數對用戶輸入數據進行字符過濾;
10、其中,所述預定義過濾規則包括需要過濾的引號、邏輯運算符、路徑導航符號和預設潛在危險字符。
11、其中,對完成字符過濾的用戶輸入數據進行模式匹配,包括:
12、應用基于預定義正則表達式模式構建的匹配函數對完成字符過濾的用戶輸入數據進行模式匹配;
13、其中,所述預定義正則表達式模式包括布爾邏輯、路徑導航符號組合邏輯、預設字符和預設注入模式。
14、其中,所述對所述用戶輸入數據的每個輸入字段進行類型約束檢測,包括:
15、應用預定義預期輸入類型構建的類型檢查函數對所述用戶輸入數據的每個輸入字段進行類型約束檢測;
16、其中,所述預定義預期輸入類型包括與用戶登錄信息對應的字符串輸入類型,與用戶id和頁碼對應的整數輸入類型,以及與狀態標志位對應的布爾值輸入類型。
17、其中,所述對所述用戶輸入數據進行語義分析,包括:
18、應用預定義合法性標準構建的語義分析模型對所述用戶輸入數據進行語義分析;
19、其中,所述預定義合法性標準包括與預設輸入字段類型相對應的預設輸入內容。
20、其中,所述對api請求中的xpath查詢的節點訪問深度和頻率進行監控,包括:
21、根據計算得到的節點深度與預設節點深度閾值的第一比較結果,得到第一可疑行為識別結果;
22、根據在預設時長內對同一節點類型的訪問次數與預設訪問次數閾值的第二比較結果,得到第二可疑行為識別結果。
23、其中,所述對當前用戶請求進行上下文一致性檢查,包括:
24、基于預定義上下文一致性標準對當前用戶請求進行上下文一致性檢查;
25、其中,所述預定義上下文一致性標準包括已登錄用戶的請求不應再次要求登錄信息,以及在目標頁面中用戶的請求與所述目標頁面的功能相一致。
26、一方面,本專利技術提出一種api注入攻擊識別裝置,包括:
27、第一獲取單元,用于對用戶輸入數據進行字符過濾和模式匹配,得到xpath注入特征識別結果;
28、第二獲取單元,用于對所述用戶輸入數據的每個輸入字段進行類型約束檢測,以及對所述用戶輸入數據進行語義分析,得到用戶輸入數據內容的合法性驗證結果;
29、第三獲取單元,用于對用戶請求行為進行監控,得到異常操作檢測結果;
30、第一識別單元,用于對api請求中的xpath查詢的節點訪問深度和頻率進行監控,得到可疑行為識別結果;
31、第二識別單元,用于對當前用戶請求進行上下文一致性檢查,得到可疑請求識別結果。
32、再一方面,本專利技術實施例提供一種電子設備,包括:處理器、存儲器和總線,其中,
33、所述處理器和所述存儲器通過所述總線完成相互間的通信;
34、所述存儲器存儲有可被所述處理器執行的程序指令,所述處理器調用所述程序指令能夠執行如下方法:
35、對用戶輸入數據進行字符過濾和模式匹配,得到xpath注入特征識別結果;
36、對所述用戶輸入數據的每個輸入字段進行類型約束檢測,以及對所述用戶輸入數據進行語義分析,得到用戶輸入數據內容的合法性驗證結果;
37、對用戶請求行為進行監控,得到異常操作檢測結果;
38、對api請求中的xpath查詢的節點訪問深度和頻率進行監控,得到可疑行為識別結果;
39、對當前用戶請求進行上下文一致性檢查,得到可疑請求識別結果。
40、本專利技術實施例提供一種非暫態計算機可讀存儲介質,包括:
41、所述非暫態計算機可讀存儲介質存儲計算機指令,所述計算機指令使所述計算機執行如下方法:
42、對用戶輸入數據進行字符過濾和模式匹配,得到xpath注入特征識別結果;
43、對所述用戶輸入數據的每個輸入字段進行類型約束檢測,以及對所述用戶輸入數據進行語義分析,得到用戶輸入數據內容的合法性驗證結果;
44、對用戶請求行為進行監控,得到異常操作本文檔來自技高網...
【技術保護點】
1.一種API注入攻擊識別方法,其特征在于,包括:
2.根據權利要求1所述的API注入攻擊識別方法,其特征在于,所述對用戶輸入數據進行字符過濾,包括:
3.根據權利要求1所述的API注入攻擊識別方法,其特征在于,對完成字符過濾的用戶輸入數據進行模式匹配,包括:
4.根據權利要求1所述的API注入攻擊識別方法,其特征在于,所述對所述用戶輸入數據的每個輸入字段進行類型約束檢測,包括:
5.根據權利要求1所述的API注入攻擊識別方法,其特征在于,所述對所述用戶輸入數據進行語義分析,包括:
6.根據權利要求1所述的API注入攻擊識別方法,其特征在于,所述對API請求中的XPath查詢的節點訪問深度和頻率進行監控,包括:
7.根據權利要求1所述的API注入攻擊識別方法,其特征在于,所述對當前用戶請求進行上下文一致性檢查,包括:
8.一種API注入攻擊識別裝置,其特征在于,包括:
9.一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述計算
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7中任一項所述方法的步驟。
...【技術特征摘要】
1.一種api注入攻擊識別方法,其特征在于,包括:
2.根據權利要求1所述的api注入攻擊識別方法,其特征在于,所述對用戶輸入數據進行字符過濾,包括:
3.根據權利要求1所述的api注入攻擊識別方法,其特征在于,對完成字符過濾的用戶輸入數據進行模式匹配,包括:
4.根據權利要求1所述的api注入攻擊識別方法,其特征在于,所述對所述用戶輸入數據的每個輸入字段進行類型約束檢測,包括:
5.根據權利要求1所述的api注入攻擊識別方法,其特征在于,所述對所述用戶輸入數據進行語義分析,包括:
6.根據權利要求1所述的api注入攻擊識別方法,...
【專利技術屬性】
技術研發人員:孫躍,侯聰,董彬,田琪,蘇煜粵,李琳,徐小天,
申請(專利權)人:華北電力科學研究院有限責任公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。