CN106357696B - 一种sql注入攻击检测方法及系统 - Google Patents

一种sql注入攻击检测方法及系统 Download PDF

Info

Publication number
CN106357696B
CN106357696B CN201611000131.5A CN201611000131A CN106357696B CN 106357696 B CN106357696 B CN 106357696B CN 201611000131 A CN201611000131 A CN 201611000131A CN 106357696 B CN106357696 B CN 106357696B
Authority
CN
China
Prior art keywords
attack
http request
request
information
sql injection
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.)
Active
Application number
CN201611000131.5A
Other languages
English (en)
Other versions
CN106357696A (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 CN201611000131.5A priority Critical patent/CN106357696B/zh
Publication of CN106357696A publication Critical patent/CN106357696A/zh
Application granted granted Critical
Publication of CN106357696B publication Critical patent/CN106357696B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种SQL注入攻击检测方法及系统,用以提高SQL注入攻击漏洞检测的准确性,帮助网站发现真实的SQL注入漏洞。所述SQL注入攻击检测方法,包括:针对请求端向服务端发送的超文本传输协议HTTP请求,检测所述HTTP请求中包含的危险攻击HTTP请求和/或安全攻击HTTP请求;对于检测到的安全攻击HTTP请求发送给所述服务端,并拦截检测到的危险攻击HTTP请求;针对所述服务端向所述请求端返回的包含有所述安全攻击HTTP请求的HTTP请求对应的HTTP响应,如果检测到所述HTTP响应中包含预设的第一特征信息,则确认存在SQL注入漏洞。

Description

一种SQL注入攻击检测方法及系统
技术领域
本发明涉及信息安全技术领域,尤其涉及一种SQL注入攻击检测方法及系统。
背景技术
SQL(Structured Query Language,结构化查询语言)注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
目前针对SQL注入的防御算法主要是基于规则和语义分析的。规则主要采用正则匹配,对输入参数过滤一遍每个SQL注入规则。语义分析主要基于编译原理,对HTTP(HyperText Transfer Protocol,超文本传输协议)请求进行语义分析,生成SQL语法树,再结合打分系统对输入参数进行打分,判断是否存在SQL注入。
上述两种方法都是基于HTTP请求的检测,这样带来的明显缺陷就是判断SQL注入攻击都是基于理论的,没有经过实践的测试,会造成较多的误报。造成的不良影响至少有两种:一种是网站本身没有漏洞,防护产品却产生一堆的攻击日志,客户无从读起,产品的价值感不强;另外一种是网站本身有漏洞,但因为攻击都被防护产品阻断了,网站管理员无法获知网站存在的SQL注入攻击漏洞,一旦防护产品失效或有新的0Day(破解)漏洞绕过防护产品,网站安全就会遭到严重威胁。
发明内容
本发明提供了一种SQL注入攻击检测方法及系统,用以提高SQL注入攻击漏洞检测的准确性,帮助网站发现真实的SQL注入漏洞。
本发明实施例提供了一种SQL注入攻击检测方法,包括:
针对请求端向服务端发送的超文本传输协议HTTP请求,检测所述HTTP请求中包含的危险攻击HTTP请求和/或安全攻击HTTP请求;
对于检测到的安全攻击HTTP请求发送给所述服务端,并拦截检测到的危险攻击HTTP请求;
针对所述服务端向所述请求端返回的、所述安全攻击HTTP请求对应的HTTP响应,如果检测到所述HTTP响应中包含预设的第一特征信息,则确认存在SQL注入漏洞。
本发明实施例提供了一种SQL注入攻击检测系统,包括:
检测模块,用于针对请求端向服务端发送的超文本传输协议HTTP请求,检测所述HTTP请求中包含的危险攻击HTTP请求和/或安全攻击HTTP请求;
第一处理模块,用于对于检测到的安全攻击HTTP请求发送给所述服务端,并拦截检测到的危险攻击HTTP请求;
漏洞确认模块,用于针对所述服务端向所述请求端返回的、所述安全攻击HTTP请求对应的HTTP响应,如果检测到所述HTTP响应中包含预设的第一特征信息,则确认存在SQL注入漏洞。
本发明的有益效果包括:
本发明实施例提供的SQL注入攻击检测方法,防火墙对客户端向服务端发送的HTTP请求进行检测,将检测到的安全攻击HTTP请求发送给服务端,并拦截检测到的危险攻击HTTP请求,并根据服务端向请求端返回的安全攻击HTTP请求对应的HTTP响应,检测是否存在SQL注入漏洞,上述过程中,防火墙允许部分安全攻击HTTP请求发送到服务端,再对安全攻击HTTP请求对应的HTTP响应进行分析判断出SQL注入漏洞之后再对其进行拦截,从而能够准确定位SQL注入漏洞,且能够使得网站有针对性的根据确认出的SQL注入漏洞进行防护,提高了SQL注入漏洞检测的准确性,帮助网站发现真实的SQL注入漏洞。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1a为本发明实施例中,SQL注入攻击检测方法的应用场景示意图;
图1b为实施SQL注入攻击的两类黑客的示意图;
图2为本发明实施例中,SQL注入攻击检测方法流程示意图;
图3为本发明实施例中,SQL注入攻击检测系统结构示意图。
具体实施方式
为了降低SQL注入攻击检测的误报率及漏报率,本发明提供了一种SQL注入攻击检测方法及系统。
本发明实施例提供的SQL注入攻击检测方法实施原理是:防火墙对客户端向服务端发送的HTTP请求进行检测,将检测到的安全攻击HTTP请求发送给服务端,并拦截检测到的危险攻击HTTP请求,针对服务端向请求端返回的包含有安全攻击HTTP请求对应的HTTP响应,如果检测到HTTP响应中包含预设的第一特征信息,则确认存在SQL注入漏洞,上述SQL注入攻击的检测方法允许部分包含有安全攻击HTTP请求的HTTP请求发送到服务端,再通过对其对应的HTTP响应进行检测来判断是否存在SQL注入漏洞,在判断出存在SQL注入漏洞之后再对其进行拦截,而不是在HTTP请求阶段就将判断出的所有可能为攻击请求的HTTP请求拦截,根据HTTP响应能够判断出SQL注入漏洞所在,使得网站管理人员能够有针对性的SQL漏洞进行防护,提高了SQL注入漏洞检测的准确性,降低了SQL注入攻击检测的误报率及漏报率。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
首先参考图1a,其为本发明实施例提供的SQL注入攻击检测方法的应用场景示意图,用户10通过终端11中安装的客户端访问网站服务器12,其中,客户端可以为网页的浏览器,也可以为安装于移动终端,如手机,平板电脑等中的客户端。
通常,实施SQL注入攻击的黑客一般有两类,一类如图1b中的黑客A 14,其只用于盗取数据,不会破坏数据库和服务器。以百度某分站a.baidu.com为例,假设该服务器有SQL注入漏洞黑客发起如下HTTP请求就可获取用户信息:
http://a.baidu.com/?payload=1union select*from users
而另一类如图1b中的黑客B 15,其会破坏数据库或者篡改数据。比如黑客B 15发起如下HTTP请求就会造成所有用户信息被删除:
http://a.baidu.com/?payload=1;delete from users
现有技术中,WAF(Web Application Firewall,Web应用防火墙)会把两种HTTP请求都在发送HTTP请求时阻断,让攻击不能到达网站服务器12。而本发明实施例中,允许黑客A 14的非破坏性攻击请求即安全攻击HTTP请求暂时放过到服务器端执行,进而在HTTP响应阶段做检测,并对存在SQL注入漏洞的HTTP响应进行拦截。
具体地,用户在访问网站服务器12时,其通过客户端向网站服务器12发送HTTP请求,该HTTP请求首先到达防火墙13,防火墙13根据预设的特征信息对该HTTP请求进行识别,如果该HTTP中携带的特征信息与预设的安全攻击HTTP请求的特征信息(本发明实施例中涉及的第三特征信息)相符,则防火墙13判定该HTTP请求为安全攻击HTTP请求,如果该HTTP中携带的特征信息与预设的危险攻击HTTP请求的特征信息(本发明实施例中涉及的第二特征信息)相符,则防火墙13判定该HTTP请求为危险攻击HTTP请求,对于识别出的危险攻击HTTP请求,防火墙13需进行拦截,而对于识别出的安全攻击HTTP请求,防火墙13将其按照正常流程发送给网站服务器12,并等待网站服务器12针对安全攻击HTTP请求返回的HTTP响应。网站服务器12在接收到安全攻击HTTP请求后,针对该HTTP请求向客户端返回HTTP响应,该HTTP响应中包含有响应信息,当HTTP响应到达防火墙12时,防火墙12对接收到的HTTP响应进行检测,判断接收到的HTTP响应中是否包含的预设的特征信息(本发明实施例中涉及的第一特征信息),如果是,则确认网站服务器12存在SQL注入漏洞,拦截接收到的HTTP响应。
其中,终端11与网站服务器12之间通过网络进行通信连接,该网络可以为局域网、广域网等。终端11可以为便携设备(例如:手机、平板、笔记本电脑等),也可以为个人电脑(PC,Personal Computer),网站服务器12可以为任何能够提供互联网服务的设备。
下面结合图1a和图1b的应用场景,参考图2来描述根据本发明示例性实施方式的SQL注入攻击检测方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,其为本发明实施例提供的SQL注入攻击检测方法流程示意图,可以包括以下步骤:
S21、针对请求端向服务端发送的HTTP请求,检测所述HTTP请求中包含的危险攻击HTTP请求和/或安全攻击HTTP请求。
具体实施时,防火墙针对客户请求端向服务端发送的HTTP请求,检测该HTTP请求中包含的危险攻击HTTP请求和/或安全攻击HTTP请求。
其中,防火墙可以根据预设的第二特征信息检测HTTP请求中包含的危险攻击HTTP请求,危险攻击HTTP请求可以包括以下至少一种请求:删除数据库/表请求、修改表请求、执行命令请求、读写文件请求,当检测到HTTP请求中包含有通过上述请求方式得到的特征信息时,则可确认其为危险攻击HTTP请求。
同样,可以根据预设的第三特征信息检测HTTP请求中包含的安全攻击HTTP请求,其中,安全攻击HTTP请求包括以下至少一种请求:基于数据库错误的回显试探请求、数据库信息查询请求、数据查询请求、盲注攻击请求。基于此,本发明实施例中,预设的第三特征信息包括通过以下方式得到的至少一种信息:在基于数据库错误的回显试探响应中搜索数据库错误提示信息、在基于数据库信息的响应中查询数据库信息、在基于数据查询的响应中搜索业务信息、在基于盲注攻击的响应中检测是否有盲注效果,当检测到HTTP请求中包含有上述特征信息时,则可确认其为安全攻击HTTP请求。
比如,攻击者发送一个基于时间的盲注攻击判断注入点:
http://a.baidu.com/?id=1,SELECT IF(1=1,sleep(5),'1')①
再发送一个数据查询请求盗取所有用户的信息:
http://a.baidu.com/?id=1union select*from users②
本实施例中通过正则表达式sleep(\d+)匹配到请求①中的关键字sleep(5),通过正则表达式union\sselect.*匹配到请求②中的关键字union select,判断请求①和请求②为安全攻击HTTP请求中的数据查询。并且没发现有危险攻击特征信息,所以可以确定为安全攻击HTTP请求。
S22、对于检测到的安全攻击HTTP请求发送给所述服务端,并拦截检测到的危险攻击HTTP请求。
具体实施时,防火墙针对检测到的安全攻击HTTP请求发送给服务端,并拦截检测到的危险攻击HTTP请求,对其进行阻断。
S23、针对所述服务端向所述请求端返回的、所述安全攻击HTTP请求对应的HTTP响应,如果检测到所述HTTP响应中包含预设的第一特征信息,则确认存在SQL注入漏洞。
具体实施时,防火墙针对服务端向请求端返回的包含有步骤S21中检测到的安全攻击HTTP请求对应的HTTP响应,如果检测到的HTTP响应中包含预设的第一特征信息,则即可确认存在SQL注入漏洞,可以判断攻击成功,后续要存储针对该URL放过的所有安全攻击HTTP请求和对应的HTTP响应,但要将所有HTTP响应拦截阻断,不发给客户端,以便进行后续风险评估。其中,关于预设的第一特征信息,假设黑客攻击查询用户信息成功,响应中包含了大量的用户名/密码信息,比如:
Admin@baidu.com;42a1af08f69aad392d7282314f8b9d01
User1@baidu.com;ed14f93831eb50c859a0730bd732c3e3
User2@baidu.com;45011e6df25b5d6fd84dc5880f53daf1
其中有大量的邮箱和MD5特征,通过对HTTP响应进行检测就可以发现这些重要信息。
比如在http://a.baidu.com/?a=1union select*from users的响应中包含Admin@baidu.com;42a1af08f69aad392d7282314f8b9d01,则urlhttp://a.baidu.com/的参数a存在SQL注入漏洞,进而根据HTTP响应对该SQL注入漏洞进行风险评估,在漏洞URL的响应中搜索敏感信息,比如常见系统表、表名、列名、邮件地址格式、密码MD5(Message DigestAlgorithm 5,消息摘要算法5)格式等,统计攻击次数、攻击源IP等信息,评估漏洞影响。其中,MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。MD5将任意长度的“字节串”映射为一个128bit的大整数,并且通过该128bit反推原始字符串是困难的,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串。MD5被广泛用于系统的登陆认证上,当用户登录的时候,系统把用户输入的密码进行MD5Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性,可以避免用户的密码被具有系统管理员权限的用户获取。
基于此,本发明实施例提供的SQL注入攻击检测方法,还可以包括以下步骤:提取安全攻击HTTP请求对应的HTTP响应中携带的响应信息,根据提取的响应信息对SQL注入漏洞进行风险评估。
具体地,安全攻击HTTP请求返回的HTTP响应中携带的响应信息可以包括:攻击类型信息、攻击业务类型信息和发起攻击的网站地址信息。具体实施时,可以根据攻击类型信息以及预先存储的攻击类型信息与攻击向量的对应关系,确定SQL注入漏洞对应的攻击向量,根据攻击业务类型信息以及预先存储的攻击业务类型信息与攻击结果向量之间的对应关系,确定SQL注入漏洞对应的攻击结果向量,以及根据发起攻击的网络地址信息,统计针对SQL注入漏洞发起SQL注入攻击的网络地址数量(即攻击源IP数量),再根据统计的网络地址数量以及预先存储的网络地址数量与攻击普遍性向量之间的对应关系,确定SQL注入漏洞对应的攻击普遍性向量,最后根据SQL注入漏洞对应的攻击向量、攻击结果向量和攻击普遍性向量共同确定SQL注入漏洞对应的风险等级。
用公式表述如下:
风险等级=攻击向量*攻击普遍性向量*攻击结果向量
其中:
Figure BDA0001152299320000081
Figure BDA0001152299320000082
Figure BDA0001152299320000091
比如,当攻击类型为“盲注攻击,有编码”、攻击源IP数量>2、攻击业务类型为“可查询密码数据和业务数据”时,对应的风险等级=1*2*3=6,风险等级的数值越大,SQL注入攻击风险越高。
因为搜集了所有可疑请求的响应信息,能直接评估漏洞带来的影响,比如攻击请求能访问哪些表,获取哪些数据,拥有哪些权限等。对安全攻击HTTP请求返回的HTTP响应检测出的SQL注入漏洞进行风险评估后,将风险评估结果以及拦截的HTTP响应反馈给网站管理员,网站管理员根据风险评估结果及拦截的HTTP响应对SQL注入攻击漏洞进行防护处理。
本发明实施例提供的SQL注入攻击检测方法,通过防火墙对客户端向服务端发送的HTTP请求进行检测,将检测到的安全攻击HTTP请求发送给服务端,并拦截检测到的危险攻击HTTP请求,并根据服务端向请求端返回的包含有安全攻击HTTP请求的对应的HTTP响应,检测是否存在SQL注入漏洞,上述过程中,防火墙允许部分安全攻击HTTP请求发送到服务端,再对安全攻击HTTP请求对应的HTTP响应进行分析判断出SQL注入漏洞之后再对其进行拦截,从而能够准确定位SQL注入漏洞,且能够使得网站有针对性的根据确认出的SQL注入漏洞进行防护,提高了SQL注入漏洞检测的准确性,帮助网站发现真实的SQL注入漏洞。
基于同一发明构思,本发明实施例中还提供了SQL注入攻击检测系统,由于上述系统解决问题的原理与SQL注入攻击检测方法相似,因此上述系统的实施可以参见方法的实施,重复之处不再赘述。
本发明实施例提供的SQL注入攻击检测系统可以应用于防火墙中。如图3所示,其为本发明实施例提供的SQL注入攻击检测系统在防火墙中的应用结构示意图,可以包括:
检测模块31,用于针对请求端向服务端发送的超文本传输协议HTTP请求,检测所述HTTP请求中包含的危险攻击HTTP请求和/或安全攻击HTTP请求;
第一处理模块32,用于对于检测到的安全攻击HTTP请求发送给所述服务端,并拦截检测到的危险攻击HTTP请求;
漏洞确认模块33,用于针对所述服务端向所述请求端返回的、所述安全攻击HTTP请求对应的HTTP响应,如果检测到所述HTTP响应中包含预设的第一特征信息,则确认存在SQL注入漏洞。
其中,所述检测模块31,具体用于根据预设的第二特征信息检测所述HTTP请求中包含的危险攻击HTTP请求;和/或
根据预设的第三特征信息检测所述HTTP请求中包含的安全攻击HTTP请求。
可选地,本发明实施例提供的SQL注入攻击检测系统,还可以包括:
提取模块,用于在所述漏洞确认模块确认存在SQL注入漏洞之后,提取所述HTTP响应中携带的响应信息;
风险评估模块,用于根据提取的响应信息对SQL注入漏洞进行风险评估。较佳地,所述响应信息可以包括攻击类型信息、攻击业务类型信息和发起攻击的网络地址信息。
可选地,本发明实施例提供的SQL注入攻击检测系统,还可以包括:
第一确定模块,用于根据所述攻击类型信息以及预先存储的攻击类型信息与攻击向量的对应关系,确定所述SQL注入漏洞对应的攻击向量;
第二确定模块,用于根据所述攻击业务类型信息以及预先存储的攻击业务类型信息与攻击结果向量之间的对应关系,确定所述SQL注入漏洞对应的攻击结果向量;
统计模块,用于根据发起攻击的网络地址信息,统计针对所述SQL注入漏洞发起SQL注入攻击的网络地址数量;
第三确定模块,用于根据统计的网络地址数量以及预先存储的网络地址数量与攻击普遍性向量之间的对应关系,确定所述SQL注入漏洞对应的攻击普遍性向量;
第四确定模块,用于根据所述SQL注入漏洞对应的攻击向量、攻击结果向量和攻击普遍性向量确定所述SQL注入漏洞对应的风险等级。
可选地,本发明实施例提供的SQL注入攻击检测系统,还可以包括:
拦截模块,用于在所述漏洞确认模块确认存在SQL注入漏洞之后,拦截所述服务端向所述请求端返回的、所述安全攻击HTTP请求对应HTTP响应。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种结构化查询语言SQL注入攻击检测方法,其特征在于,包括:
针对请求端向服务端发送的超文本传输协议HTTP请求,检测所述HTTP请求中包含的危险攻击HTTP请求和安全攻击HTTP请求;
对于检测到的安全攻击HTTP请求发送给所述服务端,并拦截检测到的危险攻击HTTP请求;
针对所述服务端向所述请求端返回的、所述安全攻击HTTP请求对应的HTTP响应,如果检测到所述HTTP响应中包含预设的第一特征信息,则确认存在SQL注入漏洞;所述预设的第一特征信息为所述HTTP响应中携带的响应信息,所述响应信息包括攻击类型信息、攻击业务类型信息和发起攻击的网络地址信息;
其中,检测所述HTTP请求中是否含有危险攻击HTTP请求和安全攻击HTTP请求,具体包括:
根据预设的第二特征信息检测所述HTTP请求中包含的危险攻击HTTP请求,所述危险攻击HTTP请求包括删除数据库/表请求、修改表请求、执行命令请求、读写文件请求中的至少一种HTTP请求;和
根据预设的第三特征信息检测所述HTTP请求中包含的安全攻击HTTP请求,所述第三特征信息包括在基于数据库错误的回显试探响应中搜索数据库错误提示信息、在基于数据库信息的响应中查询数据库信息、在基于数据查询的响应中搜索业务信息和在基于盲注攻击的响应中检测是否有盲注效果中的至少一种信息。
2.如权利要求1所述的方法,其特征在于,在确认存在SQL注入漏洞之后,还包括:
提取所述HTTP响应中携带的响应信息;
根据提取的响应信息对SQL注入漏洞进行风险评估。
3.如权利要求2所述的方法,其特征在于,根据提取的响应信息对SQL注入漏洞进行风险评估,具体包括:
根据所述攻击类型信息以及预先存储的攻击类型信息与攻击向量的对应关系,确定所述SQL注入漏洞对应的攻击向量;
根据所述攻击业务类型信息以及预先存储的攻击业务类型信息与攻击结果向量之间的对应关系,确定所述SQL注入漏洞对应的攻击结果向量;以及
根据发起攻击的网络地址信息,统计针对所述SQL注入漏洞发起SQL注入攻击的网络地址数量;
根据统计的网络地址数量以及预先存储的网络地址数量与攻击普遍性向量之间的对应关系,确定所述SQL注入漏洞对应的攻击普遍性向量;
根据所述SQL注入漏洞对应的攻击向量、攻击结果向量和攻击普遍性向量确定所述SQL注入漏洞对应的风险等级。
4.如权利要求1所述的方法,其特征在于,在确认存在SQL注入漏洞之后,还包括:
拦截所述服务端向所述请求端返回的、所述安全攻击HTTP请求对应HTTP响应。
5.一种结构化查询语言SQL注入攻击检测系统,其特征在于,包括:
检测模块,用于针对请求端向服务端发送的超文本传输协议HTTP请求,检测所述HTTP请求中包含的危险攻击HTTP请求和安全攻击HTTP请求;
第一处理模块,用于对于检测到的安全攻击HTTP请求发送给所述服务端,并拦截检测到的危险攻击HTTP请求;
漏洞确认模块,用于针对所述服务端向所述请求端返回的、所述安全攻击HTTP请求对应的HTTP响应,如果检测到所述HTTP响应中包含预设的第一特征信息,则确认存在SQL注入漏洞;所述预设的第一特征信息为所述HTTP响应中携带的响应信息,所述响应信息包括攻击类型信息、攻击业务类型信息和发起攻击的网络地址信息;
其中,所述检测模块,具体用于根据预设的第二特征信息检测所述HTTP请求中包含的危险攻击HTTP请求,所述危险攻击HTTP请求包括删除数据库/表请求、修改表请求、执行命令请求、读写文件请求中的至少一种HTTP请求;和根据预设的第三特征信息检测所述HTTP请求中包含的安全攻击HTTP请求,所述第三特征信息包括在基于数据库错误的回显试探响应中搜索数据库错误提示信息、在基于数据库信息的响应中查询数据库信息、在基于数据查询的响应中搜索业务信息和在基于盲注攻击的响应中检测是否有盲注效果中的至少一种信息。
6.如权利要求5所述的系统,其特征在于,还包括:
提取模块,用于在所述漏洞确认模块确认存在SQL注入漏洞之后,提取所述HTTP响应中携带的响应信息;
风险评估模块,用于根据提取的响应信息对SQL注入漏洞进行风险评估。
7.如权利要求6所述的系统,其特征在于,所述系统,还包括:
第一确定模块,用于根据所述攻击类型信息以及预先存储的攻击类型信息与攻击向量的对应关系,确定所述SQL注入漏洞对应的攻击向量;
第二确定模块,用于根据所述攻击业务类型信息以及预先存储的攻击业务类型信息与攻击结果向量之间的对应关系,确定所述SQL注入漏洞对应的攻击结果向量;
统计模块,用于根据发起攻击的网络地址信息,统计针对所述SQL注入漏洞发起SQL注入攻击的网络地址数量;
第三确定模块,用于根据统计的网络地址数量以及预先存储的网络地址数量与攻击普遍性向量之间的对应关系,确定所述SQL注入漏洞对应的攻击普遍性向量;
第四确定模块,用于根据所述SQL注入漏洞对应的攻击向量、攻击结果向量和攻击普遍性向量确定所述SQL注入漏洞对应的风险等级。
8.如权利要求5所述的系统,其特征在于,还包括:
拦截模块,用于在所述漏洞确认模块确认存在SQL注入漏洞之后,拦截所述服务端向所述请求端返回的、所述安全攻击HTTP请求对应HTTP响应。
CN201611000131.5A 2016-11-14 2016-11-14 一种sql注入攻击检测方法及系统 Active CN106357696B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611000131.5A CN106357696B (zh) 2016-11-14 2016-11-14 一种sql注入攻击检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611000131.5A CN106357696B (zh) 2016-11-14 2016-11-14 一种sql注入攻击检测方法及系统

Publications (2)

Publication Number Publication Date
CN106357696A CN106357696A (zh) 2017-01-25
CN106357696B true CN106357696B (zh) 2020-02-07

Family

ID=57862244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611000131.5A Active CN106357696B (zh) 2016-11-14 2016-11-14 一种sql注入攻击检测方法及系统

Country Status (1)

Country Link
CN (1) CN106357696B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463842B (zh) * 2017-08-23 2020-04-07 杭州安恒信息技术股份有限公司 基于数据库协议的sql注入审计或防护方法及装置
CN107566392B (zh) * 2017-09-22 2020-02-11 北京知道创宇信息技术股份有限公司 一种报错型sql注入的检测方法、代理服务器和存储介质
CN107634964B (zh) * 2017-10-13 2020-05-12 杭州迪普科技股份有限公司 一种针对waf的测试方法及装置
CN108090351B (zh) * 2017-12-14 2022-03-08 北京百度网讯科技有限公司 用于处理请求消息的方法和装置
CN108540465A (zh) * 2018-03-30 2018-09-14 北京百度网讯科技有限公司 Sql注入拦截检测方法、装置、设备及计算机可读介质
CN109167792A (zh) * 2018-09-19 2019-01-08 四川长虹电器股份有限公司 一种基于Nginx的新型WAF设计方法
CN109246113B (zh) * 2018-09-21 2021-08-10 郑州云海信息技术有限公司 一种rest api的sql注入漏洞检测方法及装置
CN111385270A (zh) * 2018-12-29 2020-07-07 北京奇虎科技有限公司 基于waf的网络攻击检测方法及装置
CN110929264B (zh) * 2019-11-21 2022-08-30 中国工商银行股份有限公司 漏洞检测方法、装置、电子设备及可读存储介质
CN112989403B (zh) * 2019-12-18 2023-09-29 拓尔思天行网安信息技术有限责任公司 一种数据库破坏的检测方法、装置、设备及存储介质
CN111934949A (zh) * 2020-07-23 2020-11-13 广东电网有限责任公司 一种基于数据库注入测试的安全测试系统
CN112202776A (zh) * 2020-09-29 2021-01-08 中移(杭州)信息技术有限公司 源站防护方法和网络设备
CN112261050B (zh) * 2020-10-23 2022-02-22 新华三信息安全技术有限公司 一种sql注入攻击的检测方法及装置
CN113872976B (zh) * 2021-09-29 2023-06-02 绿盟科技集团股份有限公司 一种基于http2攻击的防护方法、装置及电子设备
CN114157476A (zh) * 2021-12-01 2022-03-08 上海钧正网络科技有限公司 基于Web应用防护系统的SQL注入漏洞检测方法、装置、终端及介质
CN113965418B (zh) * 2021-12-22 2022-07-22 北京微步在线科技有限公司 一种攻击成功判定方法及装置
CN115065507A (zh) * 2022-05-26 2022-09-16 厦门立林科技有限公司 一种sql攻击检测方法、系统及可存储介质
CN115001832B (zh) * 2022-06-10 2024-02-20 阿里云计算有限公司 防止密码攻击的方法、装置及电子设备
CN115065540B (zh) * 2022-06-20 2024-03-12 北京天融信网络安全技术有限公司 检测web漏洞攻击的方法、装置和电子设备
CN115314255B (zh) * 2022-07-11 2023-12-29 深信服科技股份有限公司 攻击结果的检测方法、装置、计算机设备和存储介质
CN117527354B (zh) * 2023-11-08 2024-06-21 北京微步在线科技有限公司 一种攻击检测方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704146A (zh) * 2016-03-18 2016-06-22 四川长虹电器股份有限公司 Sql防注入的系统与方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270766B2 (en) * 2011-12-30 2016-02-23 F5 Networks, Inc. Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704146A (zh) * 2016-03-18 2016-06-22 四川长虹电器股份有限公司 Sql防注入的系统与方法

Also Published As

Publication number Publication date
CN106357696A (zh) 2017-01-25

Similar Documents

Publication Publication Date Title
CN106357696B (zh) 一种sql注入攻击检测方法及系统
US9762543B2 (en) Using DNS communications to filter domain names
US11212305B2 (en) Web application security methods and systems
US10033746B2 (en) Detecting unauthorised changes to website content
Song et al. Advanced evasion attacks and mitigations on practical ML‐based phishing website classifiers
US8601586B1 (en) Method and system for detecting web application vulnerabilities
US9154516B1 (en) Detecting risky network communications based on evaluation using normal and abnormal behavior profiles
CN111460445B (zh) 样本程序恶意程度自动识别方法及装置
CN105491053A (zh) 一种Web恶意代码检测方法及系统
CN109768992B (zh) 网页恶意扫描处理方法及装置、终端设备、可读存储介质
US7827608B2 (en) Data leak protection system, method and apparatus
CN102045319B (zh) Sql注入攻击检测方法及其装置
US8549581B1 (en) Distributed network security system deploying guard tables
CN105939326A (zh) 处理报文的方法及装置
WO2020000749A1 (zh) 一种越权漏洞检测方法及装置
CN113259392B (zh) 一种网络安全攻防方法、装置及存储介质
CN106209907B (zh) 一种检测恶意攻击的方法及装置
Wang et al. A new cross-site scripting detection mechanism integrated with HTML5 and CORS properties by using browser extensions
Gupta et al. CSSXC: Context-sensitive sanitization framework for Web applications against XSS vulnerabilities in cloud environments
CN111131303A (zh) 一种请求数据的校验系统和方法
Gupta et al. Robust injection point-based framework for modern applications against XSS vulnerabilities in online social networks
US11582226B2 (en) Malicious website discovery using legitimate third party identifiers
CN112738127A (zh) 基于Web的网站与主机漏洞检测系统及其方法
CN107294994B (zh) 一种基于云平台的csrf防护方法和系统
WO2020022456A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for 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