CN105160252A - 一种结构化查询语言注入攻击的检测方法及装置 - Google Patents

一种结构化查询语言注入攻击的检测方法及装置 Download PDF

Info

Publication number
CN105160252A
CN105160252A CN201510487026.8A CN201510487026A CN105160252A CN 105160252 A CN105160252 A CN 105160252A CN 201510487026 A CN201510487026 A CN 201510487026A CN 105160252 A CN105160252 A CN 105160252A
Authority
CN
China
Prior art keywords
character string
detected
statement
sql
morphology
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510487026.8A
Other languages
English (en)
Other versions
CN105160252B (zh
Inventor
赵阳
肖丰佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Original Assignee
NSFOCUS Information Technology Co Ltd
Beijing NSFocus Information Security Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NSFOCUS Information Technology Co Ltd, Beijing NSFocus Information Security Technology Co Ltd filed Critical NSFOCUS Information Technology Co Ltd
Priority to CN201510487026.8A priority Critical patent/CN105160252B/zh
Publication of CN105160252A publication Critical patent/CN105160252A/zh
Application granted granted Critical
Publication of CN105160252B publication Critical patent/CN105160252B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Abstract

本发明公开了一种结构化查询语言SQL注入攻击的检测方法及装置,用于提高SQL注入攻击的检测效率,降低误报漏报率。SQL注入攻击的检测方法,包括:获取待检测的SQL语句,并对待检测的SQL语句进行解析,得到待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串;将待检测的字符串与预先存储的SQL注入SQLI语句对应的字符串库中的字符串进行匹配;当待检测的字符串与预先存储的SQLI语句对应的字符串库中任一字符串匹配成功时,则确定存在SQL注入攻击。

Description

一种结构化查询语言注入攻击的检测方法及装置
技术领域
本发明涉及网络安全技术领域,尤其涉及一种结构化查询语言SQL注入攻击的检测方法及装置。
背景技术
结构化查询语言(StructuredQueryLanguage,SQL)注入是一种技术,经常用来入侵一个网站。通过把SQL命令插入到网页(Web)表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
现有技术中SQL注入攻击检测技术的原理如下:维护一个SQL注入攻击语句的正则特征库,该SQL注入攻击语句的正则特征库中包括SQL注入语句以及SQL注入语句的正则表达式;从用户输入的超文本传输协议(HyperTextTransferProtocol,HTTP)请求统一资源定位符(UniformResourceLocator,URL)中提取待检测的SQL语句,将提取到的待检测的SQL语句与SQL注入语句的正则特征库进行正则匹配,如果匹配成功,则认为存在SQL注入攻击。
现有技术中SQL注入攻击检测技术的关键是要维护一个合理的SQL注入攻击语句的正则特征库,一方面,由于SQL注入攻击的多变性,SQL注入语句的正则特征库覆盖范围不可能绝对全面,在将待检测的SQL语句与SQL注入语句特征库中的语句进行正则匹配时,误报漏报率高;另一方面,随着SQL注入语句正则特征库的覆盖范围越来越大,在将待检测的SQL语句与SQL注入语句正则特征库进行正则匹配时,将花费大量时间,导致检测效率非常低,这是正则匹配一个周知的缺点。
综上所述,现有技术中在将待检测的SQL语句与SQL注入语句正则特征库进行正则匹配时,检测效率低,而且误报漏报率高。
发明内容
本发明实施例提供了一种结构化查询语言SQL注入攻击的检测方法及装置,用于提高SQL注入攻击的检测效率,降低误报漏报率。
本发明实施例提供的一种结构化查询语言SQL注入攻击的检测方法,该方法包括:获取待检测的SQL语句,并对所述待检测的SQL语句进行解析,得到所述待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和所述待检测SQL语句中包含的词法以及词法顺序将所述待检测的SQL语句转化为待检测的字符串,其中,所述待检测的字符串中包含的字符数量小于所述待检测的SQL语句中包含的字符数量;将所述待检测的字符串与预先存储的SQL注入(SQLInjection,SQLI)语句对应的字符串库中的字符串进行匹配;当所述待检测的字符串与所述预先存储的SQLI语句对应的字符串库中任一字符串匹配成功时,则确定存在SQL注入攻击。
本发明实施例提供的上述方法中,获取待检测的SQL语句,并对待检测的SQL语句进行解析,得到待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,与现有技术中将待检测的SQL语句与SQL注入语句正则特征库进行正则匹配相比,由于待检测的字符串中包含的字符数量小于原始的待检测的SQL语句中包含的字符数量,因此,在将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配时,减少了需要匹配的字符数量,从而缩短了匹配时间,提高了SQL注入攻击的检测效率,同时,由于根据每一类词法与特定字符或特定字符串的对应关系和SQL语句中包含的词法以及词法顺序将SQL语句转化为对应的字符串,也即每一特定字符或特定字符串代表SQL语句中的一类词法属性,因此,预先存储的SQLI语句对应的字符串库中每一个字符串均可以代表一类SQL语句,而不仅仅代表一个具体的SQLI语句,使得在检测SQL注入攻击时,无论待检测的SQL语句如何变化,只要待检测的SQL语句对应的待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串相匹配,则确定存在SQL注入攻击,与现有技术中只有在发现待检测的SQL语句与SQL注入语句正则特征库中存储的SQL注入语句完全一致时才能确定存在SQL注入攻击相比,能够识别未知的SQL注入攻击,降低误报漏报率。
在一种可能的实施方式中,本发明实施例提供的上述方法中,在所述根据每一类词法与特定字符或特定字符串的对应关系和所述待检测SQL语句中包含的词法以及词法顺序将所述待检测的SQL语句转化为待检测的字符串之后,将所述待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配之前,该方法还包括:确定所述待检测的字符串中包含的字符是否满足预设等级的条件;将所述待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,具体包括:当所述待检测的字符串中包含的字符满足预设等级的条件时,则将所述待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配。
本发明实施例提供的上述方法中,在根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串之后,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配之前,确定待检测的字符串中包含的字符是否满足预设等级的条件,当待检测的字符串中包含的字符满足预设等级的条件时,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,由于只有满足预设等级条件的待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,不满足预设等级的条件的待检测的字符串不与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,从而能够进一步提高检测的效率,同时可以控制检测的深度。
在一种可能的实施方式中,本发明实施例提供的上述方法中,所述预设等级的条件至少包括以下两个:条件一:所述待检测的字符串中包含指定字符;条件二:所述待检测的字符串中包含的字符数量大于或等于预设数量。
在一种可能的实施方式中,本发明实施例提供的上述方法中,不同类词法对应的特定字符或特定字符串不同。
在一种可能的实施方式中,本发明实施例提供的上述方法中,所述预先存储的SQLI语句对应的字符串库通过如下方式获得:输入SQL语句,并对输入的SQL语句进行解析,得到输入的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和输入的SQL语句中包含的词法以及词法顺序将输入的SQL语句转化为对应的字符串;通过用于区分常规SQL语句对应的字符串和SQLI语句对应的字符串的算法将输入的SQL语句对应的字符串划分为常规SQL语句对应的字符串和SQLI语句对应的字符串,存储所述SQLI语句对应的字符串组成预先存储的SQLI语句对应的字符串库,其中,输入的SQL语句包括常规SQL语句和SQL注入语句。
本发明实施例提供的一种结构化查询语言SQL注入攻击的检测装置,包括:处理单元,用于获取待检测的SQL语句,并对所述待检测的SQL语句进行解析,得到所述待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和所述待检测SQL语句中包含的词法以及词法顺序将所述待检测的SQL语句转化为待检测的字符串,其中,所述待检测的字符串中包含的字符数量小于所述待检测的SQL语句中包含的字符数量;匹配单元,用于将所述待检测的字符串与预先存储的SQL注入SQLI语句对应的字符串库中的字符串进行匹配;确定单元,用于当所述待检测的字符串与所述预先存储的SQLI语句对应的字符串库中任一字符串匹配成功时,则确定存在SQL注入攻击。
本发明实施例提供的上述装置中,获取待检测的SQL语句,并对待检测的SQL语句进行解析,得到待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,与现有技术中将待检测的SQL语句与SQL注入语句正则特征库进行正则匹配相比,由于待检测的字符串中包含的字符数量小于原始的待检测的SQL语句中包含的字符数量,因此,在将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配时,减少了需要匹配的字符数量,从而缩短了匹配时间,提高了SQL注入攻击的检测效率,同时,由于根据每一类词法与特定字符或特定字符串的对应关系和SQL语句中包含的词法以及词法顺序将SQL语句转化为对应的字符串,也即每一特定字符或特定字符串代表SQL语句中的一类词法属性,因此,预先存储的SQLI语句对应的字符串库中每一个字符串均可以代表一类SQL语句,而不仅仅代表一个具体的SQLI语句,使得在检测SQL注入攻击时,无论待检测的SQL语句如何变化,只要待检测的SQL语句对应的待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串相匹配,则确定存在SQL注入攻击,与现有技术中只有在发现待检测的SQL语句与SQL注入语句正则特征库中存储的SQL注入语句完全一致时才能确定存在SQL注入攻击相比,能够识别未知的SQL注入攻击,降低误报漏报率。
在一种可能的实施方式中,本发明实施例提供的上述装置中,该装置还包括:检测等级确定单元,用于在所述处理单元根据每一类词法与特定字符或特定字符串的对应关系和所述待检测SQL语句中包含的词法以及词法顺序将所述待检测的SQL语句转化为待检测的字符串之后,所述匹配单元将所述待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配之前,确定所述待检测的字符串中包含的字符是否满足预设等级的条件;所述匹配单元具体用于:当所述检测等级确定单元确定待检测的字符串中包含的字符满足预设等级的条件时,所述匹配单元将所述待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配。
本发明实施例提供的上述装置中,在根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串之后,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配之前,确定待检测的字符串中包含的字符是否满足预设等级的条件,当待检测的字符串中包含的字符满足预设等级的条件时,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,由于只有满足预设等级条件的待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,不满足预设等级的条件的待检测的字符串不与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,从而能够进一步提高检测的效率,同时可以控制检测的深度。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述预设等级的条件至少包括以下两个:条件一:所述待检测的字符串中包含指定字符;条件二:所述待检测的字符串中包含的字符数量大于或等于预设数量。
在一种可能的实施方式中,本发明实施例提供的上述装置中,不同类词法对应的特定字符或特定字符串不同。
在一种可能的实施方式中,本发明实施例提供的上述装置中,所述处理单元还用于:通过如下方式获得所述预先存储的SQLI语句对应的字符串库:输入SQL语句,并对输入的SQL语句进行解析,得到输入的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和输入的SQL语句中包含的词法以及词法顺序将输入的SQL语句转化为对应的字符串;通过用于区分常规SQL语句对应的字符串和SQLI语句对应的字符串的算法将输入的SQL语句对应的字符串划分为常规SQL语句对应的字符串和SQLI语句对应的字符串,存储所述SQLI语句对应的字符串组成预先存储的SQLI语句对应的字符串库,其中,输入的SQL语句包括常规SQL语句和SQL注入语句。
附图说明
图1为本发明实施例提供的一种SQL注入攻击的检测方法的示意流程图;
图2为本发明实施例提供的一种SQL注入攻击的检测方法的具体流程图;
图3为本发明实施例提供的一种SQL注入攻击的检测装置的结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的一种结构化查询语言SQL注入攻击的检测方法及装置的具体实施方式进行详细地说明。
本发明实施例提供的一种结构化查询语言SQL注入攻击的检测方法,如图1所示,该方法包括:
步骤102,获取待检测的SQL语句,并对待检测的SQL语句进行解析,得到待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串,其中,待检测的字符串中包含的字符数量小于待检测的SQL语句中包含的字符数量;
步骤104,将待检测的字符串与预先存储的SQL注入SQLI语句对应的字符串库中的字符串进行匹配;
步骤106,当待检测的字符串与预先存储的SQLI语句对应的字符串库中任一字符串匹配成功时,则确定存在SQL注入攻击。
本发明实施例提供的上述方法中,获取待检测的SQL语句,并对待检测的SQL语句进行解析,得到待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,与现有技术中将待检测的SQL语句与SQL注入语句正则特征库进行正则匹配相比,由于待检测的字符串中包含的字符数量小于原始的待检测的SQL语句中包含的字符数量,因此,在将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配时,减少了需要匹配的字符数量,从而缩短了匹配时间,提高了SQL注入攻击的检测效率,同时,由于根据每一类词法与特定字符或特定字符串的对应关系和SQL语句中包含的词法以及词法顺序将SQL语句转化为对应的字符串,也即每一特定字符或特定字符串代表SQL语句中的一类词法属性,因此,预先存储的SQLI语句对应的字符串库中每一个字符串均可以代表一类SQL语句,而不仅仅代表一个具体的SQLI语句,使得在检测SQL注入攻击时,无论待检测的SQL语句如何变化,只要待检测的SQL语句对应的待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串相匹配,则确定存在SQL注入攻击,与现有技术中只有在发现待检测的SQL语句与SQL注入语句正则特征库中存储的SQL注入语句完全一致时才能确定存在SQL注入攻击相比,能够识别未知的SQL注入攻击,降低误报漏报率。
具体实施时,获取待检测的SQL语句的方式有很多,例如:可以从用户输入的HTTP请求URL中提取待检测的SQL语句,也可以直接获取用户输入的SQL语句。
需要说明的是,每一类词法与特定字符或特定字符串的对应关系通过如下方式建立:基于SQL词法分析,针对SQL语句中任一词法,使用特定字符或特定字符串表示该词法,其中,不同词法对应的特定字符或特定字符串不同。
较为优选的,SQL语句中任一词法使用一个特定字符表示。
值得说明的是,获取待检测的SQL语句之后,对待检测的SQL语句进行解析,得到待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串,则待检测的SQL语句转化为待检测的字符串的过程,也即将待检测的SQL语句中包含的词法按照词法顺序转化为特定字符或特定字符串的过程,较为优选的,每一个词法对应一个特定字符,则待检测的SQL语句转化为待检测的字符串后,由于待检测的字符串中包含的字符数量小于原始待检测的SQL语句中包含的字符数量,因此,在将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配时,需要匹配的字符数量减少,匹配的速度更快,提高检测效率,同时相比于现有技术中存储SQL注入语句和SQL语句的正则表达式,存储SQLI语句对应的字符串,同样的存储空间中可以存储更多的字符串,也即存储更多的SQL语句,降低误报漏报率。
作为较为具体的实施例,通过对大量的SQL语句进行分析,将具体相同属性的词法或语法抽象出来,定义每一类词法与特定字符或特定字符串的对应关系,举例如下:
typedefenum{
TYPE_NONE=0,
TYPE_KEYWORD=(int)‘K’,
TYPE_UNION=(int)‘U’,
TYPE_GROUP=(int)‘B’,
TYPE_EXPRESSION=(int)‘E’,
TYPE_SQLTYPE=(int)‘T’,
TYPE_FUNCTION=(int)‘F’,
TYPE_BAREWORD=(int)‘N’,
TYPE_NUMBER=(int)‘1’,
从每一类词法与特定字符或特定字符串的对应关系可以看出,SQL语句中的关键词KEYWORD用特定字符K表示;共用体UNION用特定字符U表示;表达式EXPRESSION用特定字符E表示等等,则对于任选的一个SQL语句:select2fromTableName,根据每一类词法与特定字符或特定字符串的对应关系和该SQL语句中包含的词法以及词法顺序将该SQL语句转化为字符串,具体来说:
(‘E’,‘select’),//expression
(‘1’,‘2’),//number
(‘K’,‘from’),//keyword
(‘n’,‘TableName’),//bareword
SQL语句转化为的字符串为:0E1KN,也即根据每一类词法与特定字符或特定字符串的对应关系将SQL语句:select2fromTableName转化为字符串:0E1KN,字符串中包含的字符数量小于SQL语句中的字符数量,因此,在进行匹配时,速度更快,提高检测效率,同时预先存储的SQLI语句对应的字符串库中包括至少一个SQLI语句对应的字符串,存储SQLI语句对应的字符串,同样的存储空间中可以存储更多的字符串,也即存储更多的SQL语句,降低误报漏报率。
在一种可能的实施方式中,本发明实施例提供的方法中,在根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串之后,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配之前,该方法还包括:确定待检测的字符串中包含的字符是否满足预设等级的条件;将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,具体包括:当待检测的字符串中包含的字符满足预设等级的条件时,则将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配。
本发明实施例提供的方法中,在根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串之后,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配之前,确定待检测的字符串中包含的字符是否满足预设等级的条件,当待检测的字符串中包含的字符满足预设等级的条件时,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,由于只有满足预设等级条件的待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,不满足预设等级的条件的待检测的字符串不与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,从而能够进一步提高检测的效率,同时可以控制检测的深度。
在一种可能的实施方式中,本发明实施例提供的方法中,预设等级的条件至少包括以下两个:条件一:待检测的字符串中包含指定字符;条件二:待检测的字符串中包含的字符数量大于或等于预设数量。其中,预设数量可以根据不同的等级设置,也可以由用户自定义。
具体实施时,预设等级不同,则对应的条件不同,相应的检测深度也不同,作为较为具体的实施例,例如:
Level1
字符串中包含E、T、F、K;
字符串中包含的字符数量大于或等于3个;
Level2
字符串中包含E、T、F、K、B、U、&;
字符串中包含的字符数量大于或等于3个;
当待检测的字符串满足预设等级的条件时,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,不满足预设等级的条件的待检测的字符串不与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,从而能够进一步提高检测的效率,同时可以控制检测的深度。假设本发明实施例中设置两个等级,则字符串0E1KN不满足两个等级的条件,则不需要与预先存储的SQLI语句对应的字符串库中的字符串进行匹配。
在一种可能的实施方式中,本发明实施例提供的方法中,不同类词法对应的特定字符或特定字符串不同。
在一种可能的实施方式中,本发明实施例提供的方法中,预先存储的SQLI语句对应的字符串库通过如下方式获得:输入SQL语句,并对输入的SQL语句进行解析,得到输入的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和输入的SQL语句中包含的词法以及词法顺序将输入的SQL语句转化为对应的字符串;通过用于区分常规SQL语句对应的字符串和SQLI语句对应的字符串的算法将输入的SQL语句对应的字符串划分为常规SQL语句对应的字符串和SQLI语句对应的字符串,存储SQLI语句对应的字符串组成预先存储的SQLI语句对应的字符串库,其中,输入的SQL语句包括常规SQL语句和SQL注入语句。
值得说明的是,输入的SQL语句中的常规SQL语句和SQL注入语句均为已知的SQL语句,可以从网络收集、可以从各大畅销书籍收集、可以是自主发现的,也可以是根据SQL语法手工编写的等等。
预先存储的SQLI语句对应的字符串库的过程中,常规SQL语句和SQL注入语句均可以转化为字符串再通过用于区分常规SQL语句对应的字符串和SQLI语句对应的字符串的算法进行分组,因此,预先存储的SQLI语句对应的字符串库获得方式简单,容易扩展。其中,用于区分常规SQL语句对应的字符串和SQLI语句对应的字符串的算法可以是任一机器类学习算法,例如:逻辑回归、反向传递神经网络等。
下面结合图2对本发明实施例提供的SQL注入攻击的检测方法进行详细说明,如图2所示,包括:
步骤201,获取待检测的SQL语句,例如:从用户输入的HTTP请求URL中提取待检测的SQL语句,并对待检测的SQL语句进行解析,得到待检测的SQL语句中包含的词法以及词法顺序。
步骤202,将待检测的SQL语句转化为待检测的字符串,具体来说:根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串,待检测的字符串中包含的字符数量小于待检测的SQL语句中包含的字符数量。
步骤203,注入攻击检测等级控制,具体来说:分若干级别来控制检测深度,根据待检测的字符串中包含的字符的种类和数量进行预设等级的匹配,如果匹配成功满足预设等级的要求,则将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,否则,待检测的字符串不与预先存储的SQLI语句对应的字符串库中的字符串进行匹配。
步骤204,待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,具体来说:当待检测的字符串满足预设等级的条件时,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配。
步骤205,如果匹配成功,则确定存在SQL注入攻击。
本发明实施例提供的一种结构化查询语言SQL注入攻击的检测装置,如图3所示,包括:处理单元302,用于获取待检测的SQL语句,并对待检测的SQL语句进行解析,得到待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串,其中,待检测的字符串中包含的字符数量小于待检测的SQL语句中包含的字符数量;匹配单元304,用于将待检测的字符串与预先存储的SQL注入SQLI语句对应的字符串库中的字符串进行匹配;确定单元306,用于当待检测的字符串与预先存储的SQLI语句对应的字符串库中任一字符串匹配成功时,则确定存在SQL注入攻击。
本发明实施例提供的装置中,获取待检测的SQL语句,并对待检测的SQL语句进行解析,得到待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,与现有技术中将待检测的SQL语句与SQL注入语句正则特征库进行正则匹配相比,由于待检测的字符串中包含的字符数量小于原始的待检测的SQL语句中包含的字符数量,因此,在将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配时,减少了需要匹配的字符数量,从而缩短了匹配时间,提高了SQL注入攻击的检测效率,同时,由于根据每一类词法与特定字符或特定字符串的对应关系和SQL语句中包含的词法以及词法顺序将SQL语句转化为对应的字符串,也即每一特定字符或特定字符串代表SQL语句中的一类词法属性,因此,预先存储的SQLI语句对应的字符串库中每一个字符串均可以代表一类SQL语句,而不仅仅代表一个具体的SQLI语句,使得在检测SQL注入攻击时,无论待检测的SQL语句如何变化,只要待检测的SQL语句对应的待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串相匹配,则确定存在SQL注入攻击,与现有技术中只有在发现待检测的SQL语句与SQL注入语句正则特征库中存储的SQL注入语句完全一致时才能确定存在SQL注入攻击相比,能够识别未知的SQL注入攻击,降低误报漏报率。
在一种可能的实施方式中,本发明实施例提供的装置中,该装置还包括:检测等级确定单元308,用于在处理单元302根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串之后,匹配单元304将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配之前,确定待检测的字符串中包含的字符是否满足预设等级的条件;匹配单元304具体用于:当检测等级确定单元308确定待检测的字符串中包含的字符满足预设等级的条件时,匹配单元304将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配。
本发明实施例提供的装置中,在根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串之后,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配之前,确定待检测的字符串中包含的字符是否满足预设等级的条件,当待检测的字符串中包含的字符满足预设等级的条件时,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,由于只有满足预设等级条件的待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,不满足预设等级的条件的待检测的字符串不与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,从而能够进一步提高检测的效率,同时可以控制检测的深度。
在一种可能的实施方式中,本发明实施例提供的装置中,预设等级的条件至少包括以下两个:条件一:待检测的字符串中包含指定字符;条件二:待检测的字符串中包含的字符数量大于或等于预设数量。
在一种可能的实施方式中,本发明实施例提供的装置中,不同类词法对应的特定字符或特定字符串不同。
在一种可能的实施方式中,本发明实施例提供的装置中,处理单元302还用于:通过如下方式获得预先存储的SQLI语句对应的字符串库:输入SQL语句,并对输入的SQL语句进行解析,得到输入的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和输入的SQL语句中包含的词法以及词法顺序将输入的SQL语句转化为对应的字符串;通过用于区分常规SQL语句对应的字符串和SQLI语句对应的字符串的算法将输入的SQL语句对应的字符串划分为常规SQL语句对应的字符串和SQLI语句对应的字符串,存储SQLI语句对应的字符串组成预先存储的SQLI语句对应的字符串库,其中,输入的SQL语句包括常规SQL语句和SQL注入语句。
本发明实施例提供的SQL注入攻击的检测装置中,处理单元302、匹配单元304、确定单元306和检测等级确定单元308均可以采用CPU等处理器。
综上所述,本发明实施例提供的一种结构化查询语言SQL注入攻击的检测方法及装置,获取待检测的SQL语句,并对待检测的SQL语句进行解析,得到待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和待检测SQL语句中包含的词法以及词法顺序将待检测的SQL语句转化为待检测的字符串,将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,由于待检测的字符串中包含的字符数量小于原始的待检测的SQL语句中包含的字符数量,因此,在将待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配时,减少了需要匹配的字符数量,从而缩短了匹配时间,提高了SQL注入攻击的检测效率,同时,由于根据每一类词法与特定字符或特定字符串的对应关系和SQL语句中包含的词法以及词法顺序将SQL语句转化为对应的字符串,也即每一特定字符或特定字符串代表SQL语句中的一类词法属性,因此,预先存储的SQLI语句对应的字符串库中每一个字符串均可以代表一类SQL语句,而不仅仅代表一个具体的SQLI语句,使得在检测SQL注入攻击时,无论待检测的SQL语句如何变化,只要待检测的SQL语句对应的待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串相匹配,则确定存在SQL注入攻击,能够识别未知的SQL注入攻击,降低误报漏报率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种结构化查询语言SQL注入攻击的检测方法,其特征在于,该方法包括:
获取待检测的SQL语句,并对所述待检测的SQL语句进行解析,得到所述待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和所述待检测SQL语句中包含的词法以及词法顺序将所述待检测的SQL语句转化为待检测的字符串,其中,所述待检测的字符串中包含的字符数量小于所述待检测的SQL语句中包含的字符数量;
将所述待检测的字符串与预先存储的SQL注入SQLI语句对应的字符串库中的字符串进行匹配;
当所述待检测的字符串与所述预先存储的SQLI语句对应的字符串库中任一字符串匹配成功时,则确定存在SQL注入攻击。
2.根据权利要求1所述的方法,其特征在于,在所述根据每一类词法与特定字符或特定字符串的对应关系和所述待检测SQL语句中包含的词法以及词法顺序将所述待检测的SQL语句转化为待检测的字符串之后,将所述待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配之前,该方法还包括:
确定所述待检测的字符串中包含的字符是否满足预设等级的条件;
将所述待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配,具体包括:当所述待检测的字符串中包含的字符满足预设等级的条件时,则将所述待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配。
3.根据权利要求2所述的方法,其特征在于,所述预设等级的条件至少包括以下两个:
条件一:所述待检测的字符串中包含指定字符;
条件二:所述待检测的字符串中包含的字符数量大于或等于预设数量。
4.根据权利要求1所述的方法,其特征在于,不同类词法对应的特定字符或特定字符串不同。
5.根据权利要求1所述的方法,其特征在于,所述预先存储的SQLI语句对应的字符串库通过如下方式获得:
输入SQL语句,并对输入的SQL语句进行解析,得到输入的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和输入的SQL语句中包含的词法以及词法顺序将输入的SQL语句转化为对应的字符串;
通过用于区分常规SQL语句对应的字符串和SQLI语句对应的字符串的算法将输入的SQL语句对应的字符串划分为常规SQL语句对应的字符串和SQLI语句对应的字符串,存储所述SQLI语句对应的字符串组成预先存储的SQLI语句对应的字符串库,其中,输入的SQL语句包括常规SQL语句和SQL注入语句。
6.一种结构化查询语言SQL注入攻击的检测装置,其特征在于,包括:
处理单元,用于获取待检测的SQL语句,并对所述待检测的SQL语句进行解析,得到所述待检测的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和所述待检测SQL语句中包含的词法以及词法顺序将所述待检测的SQL语句转化为待检测的字符串,其中,所述待检测的字符串中包含的字符数量小于所述待检测的SQL语句中包含的字符数量;
匹配单元,用于将所述待检测的字符串与预先存储的SQL注入SQLI语句对应的字符串库中的字符串进行匹配;
确定单元,用于当所述待检测的字符串与所述预先存储的SQLI语句对应的字符串库中任一字符串匹配成功时,则确定存在SQL注入攻击。
7.根据权利要求6所述的装置,其特征在于,该装置还包括:
检测等级确定单元,用于在所述处理单元根据每一类词法与特定字符或特定字符串的对应关系和所述待检测SQL语句中包含的词法以及词法顺序将所述待检测的SQL语句转化为待检测的字符串之后,所述匹配单元将所述待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配之前,确定所述待检测的字符串中包含的字符是否满足预设等级的条件;
所述匹配单元具体用于:当所述检测等级确定单元确定待检测的字符串中包含的字符满足预设等级的条件时,所述匹配单元将所述待检测的字符串与预先存储的SQLI语句对应的字符串库中的字符串进行匹配。
8.根据权利要求7所述的装置,其特征在于,所述预设等级的条件至少包括以下两个:
条件一:所述待检测的字符串中包含指定字符;
条件二:所述待检测的字符串中包含的字符数量大于或等于预设数量。
9.根据权利要求6所述的装置,其特征在于,不同类词法对应的特定字符或特定字符串不同。
10.根据权利要求6所述的装置,其特征在于,所述处理单元还用于:通过如下方式获得所述预先存储的SQLI语句对应的字符串库:
输入SQL语句,并对输入的SQL语句进行解析,得到输入的SQL语句中包含的词法以及词法顺序,然后根据每一类词法与特定字符或特定字符串的对应关系和输入的SQL语句中包含的词法以及词法顺序将输入的SQL语句转化为对应的字符串;
通过用于区分常规SQL语句对应的字符串和SQLI语句对应的字符串的算法将输入的SQL语句对应的字符串划分为常规SQL语句对应的字符串和SQLI语句对应的字符串,存储所述SQLI语句对应的字符串组成预先存储的SQLI语句对应的字符串库,其中,输入的SQL语句包括常规SQL语句和SQL注入语句。
CN201510487026.8A 2015-08-10 2015-08-10 一种结构化查询语言注入攻击的检测方法及装置 Active CN105160252B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510487026.8A CN105160252B (zh) 2015-08-10 2015-08-10 一种结构化查询语言注入攻击的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510487026.8A CN105160252B (zh) 2015-08-10 2015-08-10 一种结构化查询语言注入攻击的检测方法及装置

Publications (2)

Publication Number Publication Date
CN105160252A true CN105160252A (zh) 2015-12-16
CN105160252B CN105160252B (zh) 2017-12-19

Family

ID=54801105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510487026.8A Active CN105160252B (zh) 2015-08-10 2015-08-10 一种结构化查询语言注入攻击的检测方法及装置

Country Status (1)

Country Link
CN (1) CN105160252B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250768A (zh) * 2016-07-21 2016-12-21 杭州安恒信息技术有限公司 一种数据库对象脚本安全漏洞的行为检测方法
CN106295338A (zh) * 2016-07-26 2017-01-04 北京工业大学 一种基于人工神经元网络的sql漏洞检测方法
CN106446677A (zh) * 2016-09-21 2017-02-22 中科信息安全共性技术国家工程研究中心有限公司 一种XPath注入漏洞检测及防御系统及方法
CN107358098A (zh) * 2017-07-14 2017-11-17 北京安数云信息技术有限公司 基于插件的结构化查询语言sql注入检测方法和装置
WO2018041114A1 (zh) * 2016-08-30 2018-03-08 北京长亭科技有限公司 网络攻击的检测方法及装置、终端设备和计算机存储介质
CN108573152A (zh) * 2017-03-14 2018-09-25 北京京东尚科信息技术有限公司 检测sql注入攻击的方法、装置、服务器和存储介质
CN108959926A (zh) * 2018-06-27 2018-12-07 杭州安恒信息技术股份有限公司 一种sql注入攻击的检测方法
CN109067717A (zh) * 2018-07-20 2018-12-21 西安四叶草信息技术有限公司 一种检测sql注入漏洞的方法及装置
CN109688137A (zh) * 2018-12-27 2019-04-26 深信服科技股份有限公司 一种sql注入攻击的检测方法、系统及相关组件
CN110035031A (zh) * 2018-01-11 2019-07-19 阿里巴巴集团控股有限公司 一种sql注入的检测方法及数据处理方法
CN111984970A (zh) * 2019-05-22 2020-11-24 深信服科技股份有限公司 一种sql注入检测方法、系统及电子设备和存储介质
CN112100617A (zh) * 2020-09-15 2020-12-18 全球能源互联网研究院有限公司 一种异常sql检测方法及装置
CN112202822A (zh) * 2020-12-07 2021-01-08 中国人民解放军国防科技大学 数据库注入检测方法、装置、电子设备及存储介质
CN113515748A (zh) * 2021-05-20 2021-10-19 云账户技术(天津)有限公司 一种检测sql注入的方法及装置
CN114640530A (zh) * 2022-03-24 2022-06-17 深信服科技股份有限公司 一种数据泄露检测方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120159621A1 (en) * 2010-12-21 2012-06-21 Korea Internet & Security Agency Detection system and method of suspicious malicious website using analysis of javascript obfuscation strength
CN102567546A (zh) * 2012-01-18 2012-07-11 北京神州绿盟信息安全科技股份有限公司 一种sql注入检测方法及装置
CN103559444A (zh) * 2013-11-05 2014-02-05 星云融创(北京)信息技术有限公司 一种sql注入检测方法及装置
CN103744802A (zh) * 2013-12-20 2014-04-23 北京奇虎科技有限公司 Sql注入攻击的识别方法及装置
US20150156209A1 (en) * 2013-12-04 2015-06-04 Karen Heart Process Using Universal Sanitization to Prevent Injection Attacks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120159621A1 (en) * 2010-12-21 2012-06-21 Korea Internet & Security Agency Detection system and method of suspicious malicious website using analysis of javascript obfuscation strength
CN102567546A (zh) * 2012-01-18 2012-07-11 北京神州绿盟信息安全科技股份有限公司 一种sql注入检测方法及装置
CN103559444A (zh) * 2013-11-05 2014-02-05 星云融创(北京)信息技术有限公司 一种sql注入检测方法及装置
US20150156209A1 (en) * 2013-12-04 2015-06-04 Karen Heart Process Using Universal Sanitization to Prevent Injection Attacks
CN103744802A (zh) * 2013-12-20 2014-04-23 北京奇虎科技有限公司 Sql注入攻击的识别方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
卢俊 等: "SQL注入攻击及其防范模型的分析与改进", 《2010年全国通信安全学术会议论文集》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250768B (zh) * 2016-07-21 2019-02-22 杭州安恒信息技术股份有限公司 一种数据库对象脚本安全漏洞的行为检测方法
CN106250768A (zh) * 2016-07-21 2016-12-21 杭州安恒信息技术有限公司 一种数据库对象脚本安全漏洞的行为检测方法
CN106295338A (zh) * 2016-07-26 2017-01-04 北京工业大学 一种基于人工神经元网络的sql漏洞检测方法
CN106295338B (zh) * 2016-07-26 2020-04-14 北京工业大学 一种基于人工神经元网络的sql漏洞检测方法
WO2018041114A1 (zh) * 2016-08-30 2018-03-08 北京长亭科技有限公司 网络攻击的检测方法及装置、终端设备和计算机存储介质
CN106446677A (zh) * 2016-09-21 2017-02-22 中科信息安全共性技术国家工程研究中心有限公司 一种XPath注入漏洞检测及防御系统及方法
CN108573152A (zh) * 2017-03-14 2018-09-25 北京京东尚科信息技术有限公司 检测sql注入攻击的方法、装置、服务器和存储介质
CN107358098A (zh) * 2017-07-14 2017-11-17 北京安数云信息技术有限公司 基于插件的结构化查询语言sql注入检测方法和装置
CN110035031A (zh) * 2018-01-11 2019-07-19 阿里巴巴集团控股有限公司 一种sql注入的检测方法及数据处理方法
CN110035031B (zh) * 2018-01-11 2022-04-26 阿里巴巴集团控股有限公司 一种sql注入的检测方法及数据处理方法
CN108959926A (zh) * 2018-06-27 2018-12-07 杭州安恒信息技术股份有限公司 一种sql注入攻击的检测方法
CN109067717B (zh) * 2018-07-20 2021-06-11 西安四叶草信息技术有限公司 一种检测sql注入漏洞的方法及装置
CN109067717A (zh) * 2018-07-20 2018-12-21 西安四叶草信息技术有限公司 一种检测sql注入漏洞的方法及装置
CN109688137A (zh) * 2018-12-27 2019-04-26 深信服科技股份有限公司 一种sql注入攻击的检测方法、系统及相关组件
CN111984970A (zh) * 2019-05-22 2020-11-24 深信服科技股份有限公司 一种sql注入检测方法、系统及电子设备和存储介质
CN111984970B (zh) * 2019-05-22 2023-11-07 深信服科技股份有限公司 一种sql注入检测方法、系统及电子设备和存储介质
CN112100617A (zh) * 2020-09-15 2020-12-18 全球能源互联网研究院有限公司 一种异常sql检测方法及装置
CN112100617B (zh) * 2020-09-15 2023-11-24 全球能源互联网研究院有限公司 一种异常sql检测方法及装置
CN112202822A (zh) * 2020-12-07 2021-01-08 中国人民解放军国防科技大学 数据库注入检测方法、装置、电子设备及存储介质
CN113515748A (zh) * 2021-05-20 2021-10-19 云账户技术(天津)有限公司 一种检测sql注入的方法及装置
CN114640530A (zh) * 2022-03-24 2022-06-17 深信服科技股份有限公司 一种数据泄露检测方法、装置、电子设备及可读存储介质
CN114640530B (zh) * 2022-03-24 2023-12-29 深信服科技股份有限公司 一种数据泄露检测方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN105160252B (zh) 2017-12-19

Similar Documents

Publication Publication Date Title
CN105160252A (zh) 一种结构化查询语言注入攻击的检测方法及装置
CN106101145B (zh) 一种网站漏洞检测方法及装置
CN103607413B (zh) 一种网站后门程序检测的方法及装置
CN105184159A (zh) 网页篡改的识别方法和装置
WO2017165018A1 (en) Automated event id field analysis on heterogeneous logs
CN102567546B (zh) 一种sql注入检测方法及装置
CN101471818A (zh) 一种恶意注入脚本网页检测方法和系统
CN106776983B (zh) 搜索引擎优化装置和方法
CN103488759A (zh) 一种根据关键词搜索应用程序的方法和装置
CN111104579A (zh) 一种公网资产的识别方法、装置及存储介质
US11263062B2 (en) API mashup exploration and recommendation
US20230106266A1 (en) Indexing Access Limited Native Applications
CN107832618A (zh) 一种基于细粒度权限控制的sql注入检测系统及其方法
CN102682098A (zh) 检测网页内容变更的方法及装置
CN104123497A (zh) 一种防御sql注入的方法、装置及系统
CN103207878A (zh) 发布信息的检查方法和装置
US10482390B2 (en) Information discovery system
CN105024987A (zh) 一种web业务日志的监测方法和装置
CN103399872A (zh) 对网页抓取进行优化的方法和装置
CN106650454A (zh) 一种sql注入攻击检测方法和装置
CN115658080A (zh) 一种软件开源代码成分的识别方法及系统
CN107786529B (zh) 网站的检测方法、装置及系统
CN103428219A (zh) 一种基于网页模板匹配的web漏洞扫描方法
CN111064735A (zh) 一种电力信息系统sql注入漏洞检测方法及系统
CN104375935A (zh) Sql注入攻击的测试方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building

Patentee after: NSFOCUS Technologies Group Co.,Ltd.

Patentee after: NSFOCUS TECHNOLOGIES Inc.

Address before: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building

Patentee before: NSFOCUS INFORMATION TECHNOLOGY Co.,Ltd.

Patentee before: NSFOCUS TECHNOLOGIES Inc.

CP01 Change in the name or title of a patent holder