1.一種結(jié)構(gòu)化查詢語言SQL注入攻擊檢測方法,其特征在于,包括:
S1:獲取當前組中的至少一個待檢測超文本傳輸協(xié)議HTTP請求,每個所述待檢測HTTP請求,包括:統(tǒng)一資源定位符URL和請求正文;
S2:根據(jù)每個所述待檢測HTTP請求的URL和請求正文,生成每個所述待檢測HTTP請求對應(yīng)的請求標識,針對每個所述請求標識,對當前請求標識對應(yīng)的請求標識相同的待檢測HTTP請求中的一個待檢測HTTP請求,進行SQL注入攻擊檢測。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
在所述S1之后,在所述S2之前,進一步包括:
設(shè)置所述當前組對應(yīng)的請求標識列表,所述請求標識列表,用于存儲請求標識;
所述S2,包括:
針對每個所述待檢測HTTP請求,根據(jù)當前待檢測HTTP請求的URL和請求正文,生成所述當前待檢測HTTP請求對應(yīng)的當前請求標識;判斷所述請求標識列表中是否存在與所述當前請求標識相同的請求標識,如果是,結(jié)束當前流程,否則,將所述當前請求標識添加到所述請求標識中,并對所述當前待檢測HTTP請求進行SQL注入攻擊檢測。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,
所述根據(jù)當前待檢測HTTP請求的URL和請求正文,生成所述當前待檢測HTTP請求對應(yīng)的當前請求標識,包括:
確定當前待檢測HTTP請求的請求正文中包含的每一個參數(shù)的參數(shù)名稱;
將所述每一個參數(shù)的參數(shù)名稱,按照預(yù)設(shè)的排序規(guī)則進行排序,生成子請求標識;
將所述子請求標識與所述當前待檢測HTTP請求的URL進行合并,生成所述當前待檢測HTTP請求的當前請求標識。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,
進一步包括:預(yù)先設(shè)置至少一個SQL注入關(guān)鍵字;
所述對當前請求標識對應(yīng)的請求標識相同的待檢測HTTP請求中的一個待檢測HTTP請求,進行SQL注入攻擊檢測,包括:
判斷所述當前請求標識對應(yīng)的請求標識相同的待檢測HTTP請求中的一個待檢測HTTP請求中,是否存在任意一個所述SQL注入關(guān)鍵字,如果是,則認定所述當前請求標識對應(yīng)的請求標識相同的待檢測HTTP請求中的一個待檢測HTTP請求存在SQL注入攻擊,否則,則認定所述當前請求標識對應(yīng)的請求標識相同的待檢測HTTP請求中的一個待檢測HTTP請求不存在SQL注入攻擊。
5.根據(jù)權(quán)利要求1-4中任一所述的方法,其特征在于,
進一步包括:
預(yù)先設(shè)置至少一個無效請求擴展名;
在所述S1之前,進一步包括:
獲取外部發(fā)來的至少一個待過濾HTTP請求,每個所述待過濾HTTP請求,包括:URL和請求正文;
針對每個所述待過濾HTTP請求,確定當前待過濾HTTP請求的URL中的當前擴展名,判斷所述當前擴展名是否與任意一個所述無效請求擴展名相同,如果是,則所述當前待過濾HTTP請求為無效請求,結(jié)束當前流程,否則,將所述當前待過濾HTTP請求作為所述待檢測HTTP請求,添加到所述當前組中,執(zhí)行S1。
6.一種SQL注入攻擊檢測裝置,其特征在于,包括:
第一獲取單元,用于獲取當前組中的至少一個待檢測HTTP請求,每個所述待檢測HTTP請求,包括:URL和請求正文;
第一處理單元,用于根據(jù)所述第一獲取單元獲取的每個所述待檢測HTTP請求的URL和請求正文,生成每個所述待檢測HTTP請求對應(yīng)的請求標識,針對每個所述請求標識,對當前請求標識對應(yīng)的請求標識相同的待檢測HTTP請求中的一個待檢測HTTP請求,進行SQL注入攻擊檢測。
7.根據(jù)權(quán)利要求6所述的SQL注入攻擊檢測裝置,其特征在于,
進一步包括:第一設(shè)置單元,用于設(shè)置所述當前組對應(yīng)的請求標識列表,所述請求標識列表,用于存儲請求標識;
所述第一處理單元,用于針對每個所述待檢測HTTP請求,根據(jù)當前待檢測HTTP請求的URL和請求正文,生成所述當前待檢測HTTP請求對應(yīng)的當前請求標識;判斷所述第一設(shè)置單元設(shè)置的所述請求標識列表中是否存在與所述當前請求標識相同的請求標識,如果是,結(jié)束當前流程,否則,將所述當前請求標識添加到所述請求標識中,并對所述當前待檢測HTTP請求進行SQL注入攻擊檢測。
8.根據(jù)權(quán)利要求7所述的SQL注入攻擊檢測裝置,其特征在于,
所述第一處理單元,進一步用于確定當前待檢測HTTP請求的請求正文中包含的每一個參數(shù)的參數(shù)名稱;將所述每一個參數(shù)的參數(shù)名稱,按照預(yù)設(shè)的排序規(guī)則進行排序,生成子請求標識;將所述子請求標識與所述當前待檢測HTTP請求的URL進行合并,生成所述當前待檢測HTTP請求的當前請求標識。
9.根據(jù)權(quán)利要求6所述的SQL注入攻擊檢測裝置,其特征在于,
進一步包括:第二設(shè)置單元,用于設(shè)置至少一個SQL注入關(guān)鍵字;
所述第一處理單元,用于判斷所述當前請求標識對應(yīng)的請求標識相同的待檢測HTTP請求中的一個待檢測HTTP請求中,是否存在任意一個所述第二設(shè)置單元設(shè)置的所述SQL注入關(guān)鍵字,如果是,則認定所述當前請求標識對應(yīng)的請求標識相同的待檢測HTTP請求中的一個待檢測HTTP請求存在SQL注入攻擊,否則,則認定所述當前請求標識對應(yīng)的請求標識相同的待檢測HTTP請求中的一個待檢測HTTP請求不存在SQL注入攻擊。
10.根據(jù)權(quán)利要求6-9中任一所述的SQL注入攻擊檢測裝置,其特征在于,
進一步包括:第三設(shè)置單元,用于設(shè)置至少一個無效請求擴展名;
第二獲取單元,用于獲取外部發(fā)來的至少一個待過濾HTTP請求,每個所述待過濾HTTP請求,包括:URL和請求正文;
第二處理單元,用于針對所述第二獲取單元獲取的每個所述待過濾HTTP請求,確定當前待過濾HTTP請求的URL中的當前擴展名,判斷所述當前擴展名是否與任意一個所述第三設(shè)置單元設(shè)置的所述無效請求擴展名相同,如果是,則所述當前待過濾HTTP請求為無效請求,結(jié)束當前流程,否則,將所述當前待過濾HTTP請求作為所述待檢測HTTP請求,添加到所述當前組中,觸發(fā)所述第一獲取單元。