CN115314255B - 攻击结果的检测方法、装置、计算机设备和存储介质 - Google Patents
攻击结果的检测方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115314255B CN115314255B CN202210809390.1A CN202210809390A CN115314255B CN 115314255 B CN115314255 B CN 115314255B CN 202210809390 A CN202210809390 A CN 202210809390A CN 115314255 B CN115314255 B CN 115314255B
- Authority
- CN
- China
- Prior art keywords
- request
- illegal user
- user request
- attack
- current
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 62
- 238000002347 injection Methods 0.000 claims abstract description 197
- 239000007924 injection Substances 0.000 claims abstract description 197
- 238000000034 method Methods 0.000 claims abstract description 81
- 238000004458 analytical method Methods 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims description 154
- 230000006870 function Effects 0.000 claims description 35
- 230000003111 delayed effect Effects 0.000 claims description 11
- 230000001934 delay Effects 0.000 claims description 3
- 230000009545 invasion Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 13
- 239000000523 sample Substances 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000007123 defense Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000008260 defense mechanism Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Abstract
本申请提出一种攻击结果的检测方法、装置、计算机设备和存储介质,该方法包括:对探测到的当前非法用户请求进行第一解析,得到所述当前非法用户请求中的SQL注入语句的注入内容;根据所述注入内容确定所述当前非法用户请求在攻击链中所属的攻击阶段;若所述当前非法用户请求所属的攻击阶段为入侵阶段,则确定在同一个被攻击对象的运行环境中是否存在与所述当前非法用户请求关联的目标数据库请求;若存在目标数据库请求,或,存在目标数据库请求且所述目标数据库请求被成功执行,则判定所述当前非法用户请求对应的SQL注入攻击结果为攻击成功。本申请实现了对无回显或弱回显场景下SQL注入的攻击结果进行检测。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种攻击结果的检测方法、装置、计算机设备和存储介质。
背景技术
SQL注入是攻击者通过在应用程序中事先定义好的查询语句上添加额外的SQL语句,以此通过欺骗手段实现非法操作的目的。SQL注入攻击是当前较严重的安全攻击事件之一。
目前业内对SQL注入的检测主要是通过SQLmap等工具进行检测,这些检测工具只能简单判断响应是否符合盲注特征,精准性较差,且对于大多数无回显或弱回显场景下的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注入攻击结果的检测问题。
此外,为实现上述目的,本申请还提供了一种攻击结果的检测装置,该装置包括:
第一解析模块,用于对探测到的当前非法用户请求进行第一解析,得到当前非法用户请求中的SQL注入语句的注入内容,其中,当前非法用户请求为判定为用于SQL注入攻击的网络请求;
攻击状态判断模块,用于根据注入内容确定当前非法用户请求在攻击链中所属的攻击阶段,其中,攻击阶段包括探测阶段和入侵阶段;
关联模块,用于若当前非法用户请求所属的攻击阶段为入侵阶段,则确定在同一个被攻击对象的运行环境中是否存在与当前非法用户请求关联的目标数据库请求,其中,目标数据库请求是被攻击对象根据当前非法用户请求发起的;
第一判定模块,用于若存在目标数据库请求,或,存在目标数据库请求且目标数据库请求被成功执行,则判定当前非法用户请求对应的SQL注入攻击结果为攻击成功。
为实现上述目的,本申请还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时执行如前面任一项的攻击结果的检测方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行如前面任一项的攻击结果的检测方法的步骤。
本申请提出的攻击结果的检测方法、装置、计算机设备和存储介质,通过从SQL注入语句中识别出来的函数、表名等注入内容判断当前非法用户请求所属的攻击阶段,如果为入侵阶段,则通过语法特征对当前非法用户请求与数据库请求进行匹配,如果匹配到与当前非法用户请求语法特征匹配的目标数据库请求或匹配到的目标数据库请求执行成功,则判定当前非法用户请求攻击成功。本申请通过分析注入内容和注入状态即可分析SQL注入是否攻击成功,能够简便、有效检测网络流量中SQL注入的攻击结果,解决了多种无回显或弱回显场景下SQL注入的攻击结果难以检测的问题。可适用于各类网络攻击中的盲注攻击的结果检测和用于获取数据库状态的各类SQL注入的攻击结果检测,可应用于云安全托管服务和安全态势感知等各类产品,适用范围广。
附图说明
图1为本申请一实施例中攻击结果的检测方法的应用场景图;
图2为本申请一实施例中攻击结果的检测方法的流程示意图;
图3为本申请一实施例中攻击结果的检测装置的结构框图;
图4为本申请一实施例中计算机设备的内部结构框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的攻击结果的检测方法可应用在如图1的应用环境中,终端设备30通过网络与服务器端10通信,以向服务器端10发送用户请求,服务器端10根据接收到的用户请求向数据库20发送数据库请求。其中,服务器端10和数据库20为被攻击对象的一部分。在服务器端10或被攻击对象所运行的网络环境中的交换机中或不局限于此的其他设备(图中未示出)中安装有攻击结果的检测装置,该攻击结果的检测装置可以是一种检测探针,用于探测服务器端10接收到的用户请求、服务器端10向数据库20发送的数据库请求以及服务器端10向终端设备30返回的响应包(响应消息)。该攻击结果的检测装置还用于执行本申请各实施例中的攻击结果的检测方法的各个步骤以对SQL注入请求的攻击结果进行检测。
其中,终端设备30可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器端10可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2为本申请一实施例中攻击结果的检测方法的流程示意图。参考图2,以该方法应用于攻击结果的检测装置为例进行说明。该攻击结果的检测方法包括以下步骤S100-S400。
S100:对探测到的当前非法用户请求进行第一解析,得到当前非法用户请求中的SQL注入语句的注入内容,其中,当前非法用户请求为判定为用于SQL注入攻击的网络请求。
具体地,SQL(Structured Query Language)是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL。SQL注入语句是SQL注入请求(非法用户请求)中的SQL语句片段也即payload或payload data。SQL注入语句一般嵌入在普通的HTTP请求中,很难与正常语句区分开。如果应用程序不对用户所输入的数据、web表单、cookie等内容进行过滤或规范性验证,就有可能出现SQL注入漏洞即存在注入点。如果攻击者通过注入点将携带有SQL注入语句的数据库请求直接传输给数据库,就可能导致拼接的SQL被执行,使得攻击者获取数据库的信息以及相关权限,进而发生SQL注入攻击。现有技术往往只能检测到系统存在攻击行为,但是对于SQL注入造成的危害和风险无法准确检测到,进而无法准确地评估攻击带来的损失,也无法有针对性的加强系统对攻击的防御能力。
SQL注入包括普通注入和盲注。盲注指在SQL注入过程中,SQL语句执行后,数据无法回显到前端,因此需要使用一些特殊的方法进行判断或尝试。盲注包括时间盲注、布尔盲注、基于报错型SQL盲注等;其他SQL注入例如带外注入、用于上传或操作文件、增删改表等。
本实施例提供的攻击结果的检测装置为一种攻击结果检测探针更具体是一种检测程序,攻击结果检测探针可以部署在被攻击对象的服务器端也可以部署在被攻击对象对应的交换机等设备上。对于被攻击对象来说会接收到很多网络请求(访问请求),这些网络请求有些是正常用户的访问请求,还有一些可能是非正常的用户请求。被攻击对象的所有用户请求都会经过攻击结果检测探针,攻击结果检测探针会对探测到的用户请求进行是否为正常用户请求的判断。如果用户请求中携带非法的SQL注入语句,则被判定为非正常用户请求。非正常用户请求即SQL注入请求。
攻击结果检测探针中的语法引擎对识别到的当前非法用户请求中的SQL注入语句进行解析可以提取出注入内容。注入内容包括SQL注入语句中所携带的函数、表名和关键字等信息。
例如,一条非法用户请求为:
http://127.0.1.1/sqli/less-s-5/?id=1’and length(database())>6
该请求中“?id=1’and length(database())>6”为SQL注入语句。
在不同的请求中函数可以包括延时函数sleep()、length()函数、count()函数等不局限于此。
S200:根据注入内容确定当前非法用户请求在攻击链中所属的攻击阶段,其中,攻击阶段包括探测阶段和入侵阶段。
具体地,一个攻击链包括多个攻击阶段,其中包括探测阶段和入侵阶段。探测阶段用于了解目标被攻击对象。入侵阶段用于根据在探测阶段了解到的信息对被攻击对象进行SQL注入攻击。每个攻击阶段可能包括多条非法用户请求,不同攻击阶段的非法用户请求的作用不同,因此携带的SQL注入语句不同。因此,根据SQL注入语句中的注入内容可以确定当前非法用户请求属于攻击链中哪个攻击阶段。
S300:若当前非法用户请求所属的攻击阶段为入侵阶段,则确定在同一个被攻击对象的运行环境中是否存在与当前非法用户请求关联的目标数据库请求,其中,目标数据库请求是被攻击对象根据当前非法用户请求发起的。
具体地,SQL注入的目的是将页面的原URL、表单域或数据包输入的参数等修改拼接成SQL语句,由web服务器传给数据库服务器以执行数据库命令。被web服务器正常响应的用户请求web服务器都可能生成数据库请求,因此大量的数据库请求中有正常用户请求对应的正常数据库请求也有非法用户请求对应的非正常数据库请求。
同理,如果当前非法用户请求被web服务器正常响应,则web服务器会根据当前非法用户请求生成可执行的SQL语句以向数据库服务器发送目标数据库请求。基于此原理,本实施例会在同一个被攻击对象的运行环境所生产的大量数据库请求中查找是否存在当前非法用户请求对应的目标数据库请求,如果存在目标数据库请求,则说明当前非法用户请求被成功执行。如果不存在目标数据库请求,则需要根据后续步骤进一步判断。
目标数据库请求是根据当前非法用户请求的SQL注入语句以及系统本身自带的标准SQL语句模板拼接而成的,因此,目标数据库请求的语法特征与当前非法用户请求的语法特征存在必然关联,基于此,从大量数据库请求中查找与当前非法用户请求关联的数据库请求即可判断是否存在目标数据库请求。
S400:若存在目标数据库请求,或,存在目标数据库请求且目标数据库请求被成功执行,则判定当前非法用户请求对应的SQL注入攻击结果为攻击成功。
具体地,可以只要存在目标数据库请求即判定当前非法用户请求对应的SQL注入攻击结果为攻击成功,也可以在同时满足存在目标数据库请求且目标数据库请求被成功执行才判定当前非法用户请求对应的SQL注入攻击结果为攻击成功。其中,目标数据库请求是否成功执行可以通过是否能够探测到目标数据库请求对应的响应结果或者数据库是否被对应更新等手段来判断。
本实施例可以解决例如向数据库注入了写数据到文件的操作,同请求中大概率是没有回显证明此次操作的执行结果的,攻击者也必须使用其他手段如GET请求访问该文件等手法间接获取此次攻击是否成功,而本实施例可以通过数据库执行的情况直接判断SQL注入是否执行,此方法从根本上解决了包括带外注入、上传或操作文件、注入增删改表等无回显的攻击结果的攻击检测问题,对于盲注类型的SQL注入也同样适用,适用于大部分类型的SQL注入的攻击结果检测。
本实施例通过从SQL注入语句中识别出来的函数、表名等注入内容判断当前非法用户请求所属的攻击阶段,如果为入侵阶段,则通过语法特征对当前非法用户请求与数据库请求进行匹配,如果匹配到与当前非法用户请求语法特征匹配的目标数据库请求或匹配到的目标数据库请求执行成功,则判定当前非法用户请求攻击成功。本申请通过分析注入内容和注入状态即可分析SQL注入是否攻击成功,能够简便、有效检测网络流量中SQL注入的攻击结果,解决了多种无回显或弱回显场景下SQL注入的攻击结果难以检测的问题。可适用于各类网络攻击中的盲注攻击的结果检测和用于获取数据库状态的各类SQL注入的攻击结果检测,可应用于云安全托管服务和安全态势感知等各类产品,适用范围广。
在一个实施例中,在步骤S100之前,该方法还包括:
获取探测到的当前非法用户请求的响应包;
若当前非法用户请求的响应包中存在指示请求被拦截的防火墙特征或指示请求失败的特定响应码,则判定当前非法用户请求的SQL注入攻击结果为失败。
若响应包中不存在防火墙特征和特定响应码,则执行权利要求1中的所有步骤。
具体地,被攻击对象本身会布设一些针对攻击的防御机制使得被攻击对象具备一定的防御能力,因此,如果当前非法用户请求被被攻击对象识别并拦截,在当前非法用户请求的响应包中会有予以警告的防火墙特征或特定响应码。被防火墙或其他防御工具拦截的非法用户请求确定为攻击失败的请求。
若响应包中不存在防火墙特征和特定响应码,则执行步骤S100-S400。
本实施例对根据响应中是否有防火墙特征和特定响应码对明显已确定为攻击失败的非法用户请求进行过滤,可以减少攻击结果检测探针不必要的计算开销,提升攻击结果检测探针的性能。
在一个实施例中,步骤S300具体包括:
获取探测到当前非法用户请求的第一时间戳,及在第一时间戳之后同一个被攻击对象的运行环境中探测到数据库请求的第二时间戳;
根据第一时间戳与每个第二时间戳的第一时间差确定与当前非法用户请求疑似存在关联的候选数据库请求,其中,候选数据库请求对应的第一时间差小于第一阈值;
分别对当前非法用户请求中的SQL注入语句和候选数据库请求中的SQL语句进行第二解析,得到各自的语法特征;
将与当前非法用户请求语法特征关联的候选数据库请求作为目标数据库请求。
具体地,如果存在目标数据库请求,则目标数据库请求一定是根据当前非法用户请求且在当前非法用户请求之后生成的。攻击结果检测探针会记录探测到当前非法用户请求的第一时间戳,以及记录在第一时间戳之后探测到每个数据库请求的第二时间戳。分别计算第一时间戳与每个第二时间戳的第一时间差,将小于第一阈值的第一时间差所对应的数据库请求作为候选数据库请求,即当前非法用户请求的第一时间戳与候选数据库访问请求的第二时间戳之间的第一时间差小于第一阈值。其中,第一时间差为第一时间戳与第二时间戳的差值的绝对值。通过第一时间差可以选取与当前非法用户请求时间相近的数据库请求,缩小目标数据库请求的查找范围,减少计算开销。
利用攻击结果检测探针中的语法引擎分别对当前非法用户请求中的SQL注入语句和候选数据库请求中的SQL语句进行第二解析,第二解析具体为语法解析,得到当前非法用户请求中的SQL注入语句的第一语法特征和每个候选数据库请求中的SQL语句的第二语法特征。将第一语法特征与每个第二语法特征分别进行关联,如果某个第二语法特征与第一语法特征相似即可认为该第二语法特征对应的候选数据库请求为目标数据库请求。如果没有与第一语法特征关联的第二语法特征,则候选数据库请求中不存在目标数据库请求。
本实施例通过从第一时间戳之后探测到的、与当前非法用户请求时间相近的数据库请求中利用语法特征查找是否存在与当前非法用户请求关联的目标数据库请求,提高了目标数据库请求的匹配准确度,进而提高了攻击结果检测的精准性。
在一个实施例中,该方法还包括:
若不存在目标数据库请求或当前非法用户请求所属的攻击阶段为探测阶段,则根据当前非法用户请求中的SQL注入语句确定当前非法用户请求用于SQL注入攻击的攻击类型;
根据当前非法用户请求的整体特征定位当前非法用户请求所属的子攻击链;
若攻击类型为时间盲注,则解析当前非法用户请求中的延迟函数,得到理论延迟时长;
获取当前非法用户请求的实际响应时长,其中,实际响应时长为探测到当前非法用户请求的第一时间戳与探测到对应响应包的第三时间戳之间的时间差;
将当前非法用户请求确定为待判断非法用户请求,根据当前非法用户请求及属于同一个子攻击链的目标历史待判断非法用户请求的理论延迟时长和实际响应时长,判断攻击链是否存在真实延迟的非法用户请求;
将攻击链中判定为存在真实延迟的非法用户请求对应的SQL注入攻击结果确定为攻击成功。
具体地,如果通过目标数据库请求匹配判断不出当前非法用户请求对应的攻击结果则判断当前非法用户请求对应的攻击类型。如果判断当前非法用户请求所属的攻击阶段为探测阶段也执行判断当前非法用户请求对应的攻击类型的步骤。
为了对同一子攻击链的非法用户请求进行有针对性的分析防止混入其他子攻击链的请求导致错误判断,需要判断当前非法用户请求所属的子攻击链,以对同一个子攻击链的非法用户请求进行聚类。一个攻击链包括多个攻击阶段,每个攻击阶段对应一个子攻击链。
同一个子攻击链的非法用户请求的判断依据是根据当前非法用户请求的整体特征来定位的。整体特征包括SQL注入语句的语法特征、攻击类型、攻击阶段、注入点信息和请求的请求信息。同一个子攻击链的非法用户请求属于相同的攻击类型且处于相同的攻击阶段且为同一个攻击者,语法特征也是相近的,例如,闭合方式相同,都是使用单引号或都是使用双引号;都是使用左括号或都是使用右括号等不局限于此。注入点也相同,注入点在请求中所设置的位置也相同,请求中的路径和请求的方法类型也有相应约束。
如果当前非法用户请求为入侵阶段且不存在目标数据库请求且当前非法用户请求为时间盲注,或,当前非法用户请求为探测阶段且为时间盲注,则解析SQL注入语句中的延迟函数得到理论延迟时长。其中,时间盲注也叫延时注入,通过观察页面,既没有回显数据库内容,也没有报错信息,也没有布尔类型状态,则可以使用时间盲注。延迟函数即sleep()函数,例如sleep(5),则表示理论延迟时长为5s。
当前非法用户请求的实际响应时长为攻击结果检测探针探测到当前非法用户请求的第一时间戳与探测到当前非法用户请求对应的响应包的第三时间戳之间的时间差。实际响应时长为请求网络时长、服务器执行时长、响应网络时长和实际延迟时长之和。其中,请求网络时长为请求从发出到服务器端接收到请求所耗时长,服务器执行时长为服务器接收到请求执行相应操作所耗时长,响应网络时长为服务器返回响应结果给请求端所耗时长。在没有网络扰动或干扰的情况下,请求网络时长、服务器执行时长、响应网络时长都是几十毫秒或一百毫秒级别的,相对于理论延迟时长来说可以忽略不计,因此实际延迟时长约等于实际响应时长,本实施例使用实际响应时长等效于实际延迟时长。
攻击者在同一个攻击阶段可能会向被攻击对象发送多条非法用户请求,因此,同一个子攻击链会有多个非法用户请求。本实施例会根据同一个子攻击链的历史非法用户请求和当前非法用户请求综合一起来判断这些非法用户请求中是否存在真实延迟的非法用户请求,真实延迟的非法用户请求页面显示会延时一定时长,具体延时时长在sleep()函数中有定义。
但是实际延迟时长可能会受到网络延迟的干扰,不一定会完全按照sleep()函数中定义的理论延迟时长来延迟。因此为了排除网络延迟或网络波动的干扰,本实施例会根据当前非法用户请求及属于同一个子攻击链的目标历史待判断非法用户请求的理论延迟时长和实际响应时长进行第一请求配对,得到的每个第一请求对包括该子攻击链中两个不同的非法用户请求,且每个非法用户请求可能与多个不同的其他非法用户请求配对成功。如果经过第一请求配对后已成功配对的第一请求对的对数超过第一预设数量,则将已成功配对的第一请求对所对应的所有非法用户请求的SQL注入攻击结果判定为攻击成功。同时将这些已判定为攻击成功的非法用户请求从该子攻击链的历史非法用户请求中移除,以减少下次第一请求配对的计算量和复杂度。如果已成功配对的第一请求对的对数不超过第一预设数量,则将已成功配对的第一请求对保留,暂时不做攻击结果成功与否的判断。
另外,为了提高配对效率减少重复配对,已成功配对的第一请求对中的请求在下轮第一请求配对中不与未配对的请求进行直接配对,而是在第一请求对的对数达到第三预设数量后与第一请求对中的其他请求进行交叉配对。其中,第三预设数量小于第一预设数量。
另外,为了提高配对的精准度,当前非法用户请求所对应的目标历史待判断非法用户请求为历史待判断非法用户请求中其第一时间戳与当前非法用户请求的第一时间戳的时间差在第五阈值内的请求。通过选取时间相近的请求进行配对,可以有效提高配对的精准度和可信度。其中,历史待判断非法用户请求为在上一轮中余下的未被剔除的、且没有配对成功的非法用户请求。当前新配对成功的第一请求对与历史余下的第一请求对的总对数达到第三预设数量后,第一请求对的请求进行交叉配对。交叉配对完成后,如果包括新增的第一请求对在内的所有第一请求对的总对数超过第一预设数量,则将这些已成功配对的第一请求对所对应的所有非法用户请求的SQL注入攻击结果判定为攻击成功。
下面以一个具体实施例来说明第一请求配对的具体步骤:
获取第一个请求,将第一个请求放入容器A,容器A存放未形成对子(第一请求对)的请求;获取第二请求,将第二请求的实际响应时长减去其理论延迟时长减去容器A中第一请求的实际响应时长得到第一差值,如果第一差值的绝对值小于第六阈值,则将第一请求和第二请求作为一个第一请求对放入容器B,容器B存放已形成对子的请求。或,将第一请求的实际响应时长减去其理论延迟时长减去容器A中第二请求的实际响应时长得到第一差值,如果第一差值的绝对值小于第六阈值,则将第一请求和第二请求作为一个第一请求对放入容器B,容器B存放已形成对子的请求。
来一个第三请求,此时容器A没有其他请求,因此,第三请求放入容器A,来一个第四请求,第四请求与容器A中的第三请求按照上述的计算方式进行配对,如果配对成功,则将第三请求和第四请求放入容器B,如果没有配对成功,则第三请求和第四请求留在容器A。
来第五请求,第五请求与容器A中第一时间戳相差在第五阈值例如10分钟内的请求进行配对,如果配对成功,则将配对成功的请求移到容器B,否则留在容器A。
如果容器B中的配对对数达到第三预设数量,例如2对,则对这2对请求进行交叉配对。
例如:请求1、sleep(5)、实际响应时长0.5s(可能是因为决定sleep函数是否执行的逻辑判断语句为false,导致实际没有执行sleep函数),请求2、sleep(5)、实际响应时长5.5s(因为逻辑判断语句为true,执行了sleep函数),请求3、sleep(2)、实际响应时长0.5s,请求4、sleep(2)、实际响应时长2.5s,取第六阈值为0.5。
请求1和请求2:5.5-5-0.5=0<0.5因此,请求1和请求2配对。
请求3和请求4:2.5-2-0.5=0<0.5因此,请求3和请求4配对。
刚好达到了2对,请求1-4进行交叉配对。
请求1和请求4:2.5-2-0.5=0<0.5因此,请求1和请求4配对。
请求2和请求3:5.5-5-0.5=0<0.5因此,请求2和请求3配对。
请求1和请求3:0.5-5-0.5=-5,或,0.5-2-0.5=-2,绝对值均大于0.5,因此,请求1和请求3不配对。
请求2和请求4:5.5-5-2.5=-2,或,2.5-2-5.5=-5,绝对值均大于0.5,因此,请求2和请求4不配对。
如果刚好第一请求对的对数达到了第一预设数量,例如4对,则判定这4对对应的非法用户请求(1-4)的SQL注入攻击结果判定为攻击成功。
另外,还可以将攻击成功的非法用户请求的日志增加到告警日志中进行告警。
将请求1-4这4条请求从容器B中移除,不再参与后续的交叉判断。
新来的请求重新根据上面的步骤来进行配对。如果又生成了4对配对,则将对应的日志更新到告警日志中,然后将这4对也移除容器B。
基于上述步骤,每探测到该子攻击链的一个符合前述条件的当前非法用户请求就执行上述第一请求配对步骤一次,即可综合判断该子攻击链中的非法用户请求的攻击结果。
通过本实施例通过第一请求配对的方式来排除网络波动对延迟时长的干扰以及逻辑判断语句对延迟时长的干扰,准确的判断同一个子攻击链中哪些非法用户请求真实执行了延迟,进而判断执行了真实延迟的非法用户请求的攻击结果为攻击成功,有效解决了时间盲注中SQL注入攻击结果的检测问题。
在一个实施例中,将当前非法用户请求确定为待判断非法用户请求,包括:
根据当前非法用户请求的SQL注入语句中的逻辑判断信息和理论延迟时长、实际响应时长判断当前非法用户请求是否存在严重网络延迟误差;
若当前非法用户请求不存在网络延迟误差,则将当前非法用户请求确定为待判断非法用户请求。
具体地,如果网络延迟非常严重,则当前非法用户请求不适合参与是否执行真实延迟的判断,因此为了排除严重网络延迟对判断的干扰,需要将当前非法用户请求剔除,即当前非法用户请求不能作为待判断非法用户请求。
由于在时间盲注中可能存在逻辑判断语句也可能不存在逻辑判断语句,逻辑判断语句用于在其为false时不执行sleep函数,在其为true时执行sleep函数。如果不存在逻辑判断语句则一定执行sleep函数。因此,实际响应时长会受到逻辑判断语句和网络延迟的影响。因此,本实施例综合SQL注入语句中的逻辑判断信息和实际响应时长来综合判断当前非法用户请求中是否存在严重网络延迟误差。如果确定不存在严重网络延迟误差则将当前非法用户请求确定为待判断非法用户请求,该方法还包括:过滤存在网络延迟误差的当前非法用户请求。从而排除了严重的网络延迟误差对真实延迟请求判断的影响,提高了判断的准确性。
在一个实施例中,根据当前非法用户请求的SQL注入语句中的逻辑判断信息和理论延迟时长、实际响应时长判断当前非法用户请求是否存在严重网络延迟误差,包括:
若当前非法用户请求的SQL注入语句中包含延迟语句且不包含决定延迟语句是否执行的逻辑判断语句,则若实际响应时长与理论延迟时长的差值的绝对值超过第二阈值,则判定当前非法用户请求存在网络延迟误差,
若实际响应时长与理论延迟时长的差值的绝对值不超过第二阈值,则判定当前非法用户请求不存在网络延迟误差;
若当前非法用户请求的SQL注入语句中包含延迟语句且包含决定延迟语句是否执行的逻辑判断语句,则若实际响应时长与理论延迟时长的差值的绝对值超过第三阈值或实际响应时长超过第四阈值,则判定当前非法用户请求存在网络延迟误差,
若实际响应时长与理论延迟时长的差值的绝对值不超过第三阈值且实际响应时长不超过第四阈值,则判定当前非法用户请求不存在网络延迟误差。
具体地,如果SQL注入语句中不包含逻辑判断语句,则该SQL注入语句中的延迟语句即延迟函数一定会执行,此时如果不存在严重的网络延迟误差,实际响应时长与理论延迟时长会非常相近,即实际响应时长与理论延迟时长的差值的绝对值不超过第二阈值,第二阈值可以根据实际情况设置,例如设置为0.5s、0.3s等不局限于此。如果存在严重的网络延迟误差,实际响应时长与理论延迟时长的差值的绝对值会超过第二阈值。因此,根据此原理可以判断在不包含逻辑判断语句的情况下当前非法用户请求是否存在网络延迟误差。
如果SQL注入语句中包含逻辑判断语句,则在逻辑判断语句为true时该SQL注入语句中的延迟语句即延迟函数一定会执行。此时如果不存在严重的网络延迟误差,实际响应时长与理论延迟时长会非常相近,即实际响应时长与理论延迟时长的差值的绝对值不超过第三阈值,第三阈值可以根据实际情况设置,例如设置为0.4s、0.2s等不局限于此。如果存在严重的网络延迟误差,实际响应时长与理论延迟时长的差值的绝对值会超过第三阈值。
在逻辑判断语句为false时该SQL注入语句中的延迟函数不会执行。由于实际响应时长为请求网络时长、服务器执行时长、响应网络时长和实际延迟时长之和,且请求网络时长、服务器执行时长、响应网络时长都是毫秒级别的,此时如果不存在严重的网络延迟误差,实际响应时长接近于0,即实际响应时长不超过第四阈值。如果存在严重的网络延迟误差,实际响应时长会超过第四阈值。其中,第四阈值为大于0的数,例如可以为0.1s、0.11s等不局限于此。
因此,根据上述原理可以判断在包含逻辑判断语句的情况下当前非法用户请求是否存在网络延迟误差。
通过判断当前非法用户请求是否存在网络延迟误差以排除严重的网络波动对真实延迟的请求的判断。
在一个实施例中,该方法还包括:
若不存在目标数据库请求,则根据当前非法用户请求中的SQL注入语句确定当前非法用户请求用于SQL注入攻击的攻击类型;
根据当前非法用户请求的整体特征定位当前非法用户请求所属的子攻击链;
若攻击类型为布尔盲注,则获取当前非法用户请求对应响应包的响应信息;
根据当前非法用户请求的响应信息及属于同一个子攻击链的目标历史非法用户请求的响应信息进行第二请求配对;
判断子攻击链中是否存在满足二值分布的请求集合,其中,请求集合中包括至少第二预设数量的第二请求对;
将请求集合中的非法用户请求对应的SQL注入攻击结果确定为攻击成功。
具体地,如果当前非法用户请求为布尔盲注且攻击阶段为入侵阶段,则采用本实施例的方案。
其中,响应信息包括响应码、响应体格式、响应体长度和响应体详细信息。如果两个非法用户请求的响应信息中任意一个不同就判定这两个非法用户请求组成第二请求对,即响应码、响应体格式、响应体长度和响应体详细信息中至少一个不同即可判定。
更具体地,根据响应信息中的优先级别对同一个子攻击链中的当前非法用户请求和目标历史非法用户请求进行第二请求配对。例如,对于两个非法用户请求,先根据响应码进行第二请求配对,如果响应码相同则表示不配对,如果响应码不同则配对成功;如果配对不成功,则根据响应体格式进行第二请求配对,如果响应体格式相同则表示不配对,如果响应体格式不同则配对成功;如果配对不成功,则继续根据响应体长度进行第二请求配对,如果响应体长度相同则表示不配对,如果响应体长度不同则配对成功;如果配对不成功,则继续根据响应体详细信息进行第二请求配对,如果响应体详细信息相同则表示不配对,如果响应体详细信息不同则配对成功;如果依然配对不成功,则确定这两个非法用户请求不能组成第二请求对。当然上述的优先级顺序只是举例,响应信息中的具体优先级根据实际情况定义,本申请不局限于此。
如果经过第二请求配对后已成功配对的第二请求对的总对数超过第四预设数量,则判断已成功配对的第二请求对之间是否满足二值分布,如果存在至少第二预设数量的第二请求对满足二值分布,则将这些满足二值分布的第二请求对对应的非法用户请求对应的SQL注入攻击结果判定为攻击成功。其中,第四预设数量不小于第二预设数量。
同时将这些已判定为攻击成功的非法用户请求从该子攻击链的历史非法用户请求中移除,以减少下次第二请求配对的计算量和复杂度。如果已成功配对的第二请求对的对数不超过第四预设数量,则将已成功配对的第二请求对保留,暂时不做是否满足二值分布的判断。
另外,为了快速配对减少配对的复杂度和重复配对,依然可以参照时间盲注中对已配对成功的第二请求对和未配对成功的非法用户请求单独保存。为配对成功的只与其他未配对成功的请求进行配对,已配对成功的第二请求对在总对数达到第五预设数量后才进行交叉配对,交叉配对后已配对成功的第二请求对在总对数达到第四预设数量后才进行二值分布的判断。其中,第五预设数量小于第四预设数量。
另外,为了提高配对的精准度,当前非法用户请求所对应的目标历史非法用户请求为历史非法用户请求中其第一时间戳与当前非法用户请求的第一时间戳的时间差在第七阈值内的请求。通过选取时间相近的请求进行配对,可以有效提高配对的精准度和可信度。其中,历史非法用户请求为在上一轮中余下的未被剔除的、且没有配对成功的非法用户请求。当前新配对成功的第二请求对与历史余下的第二请求对的总对数达到第五预设数量后,第二请求对的请求进行交叉配对。交叉配对完成后,如果包括新增的第二请求对在内的所有第二请求对的总对数超过第四预设数量后才进行二值分布的判断。
其中,是否满足二值分布的判断具体例如:
请求A与请求B、请求D配对,请求A与请求C不配对,请求B与请求C配对,请求B与请求D不配对,请求C与请求D配对,请求A、B、C、D中有4个第二请求对,如果第二预设数量为4,则请求A、B、C、D中满足二值分布。满足二值分布是指通过配对,待判断的多个第二请求对所对应的非法用户请求可以聚类为两类。
本实施例通过响应信息对同一个子攻击链中的包括当前非法用户请求和目标历史非法用户请求在内的非法用户请求进行第二请求配对,再对第二请求对进行二值分布的判断,从而确定布尔盲注中哪些请求攻击成功。有效解决了布尔盲注中SQL注入攻击结果的检测问题。
本申请根据SQL注入语句和注入请求攻击链信息,分析当前攻击状态、类型和意图,从而针对性的判断攻击结果。首先根据探测到请求的第一时间戳、SQL注入语句的语法特征、数据库请求等多种信息将数据库请求和SQL注入请求关联,辅助判断SQL注入攻击结果,适用于各类SQL注入的攻击结果的初步检测,高效,适用范围广。根据攻击链中多个请求的实际响应时长、理论延迟时长以及SQL注入语句中的逻辑进行分析,从而屏蔽网络波动对时间盲注攻击结果的影响,实现了时间盲注的精准检测和针对性检测。根据布尔盲注攻击链响应的聚类状态、请求变化,来分析布尔盲注攻击结果,实现了布尔盲注的精准检测和针对性检测。本申请结合多种方法实现了对各类SQL注入的攻击结果的精分析和检测,解决了SQL注入攻击结果检测中大多数现有方案无法检出的问题,可适用于包括布尔盲注、时间盲注、带外注入、上传或操作文件、注入增删改表等各类SQL注入。通过多重检测有效防止了漏检。本申请可应用于入侵检测和态势感知等各种应用场景。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图3为本申请一实施例中攻击结果的检测装置的结构框图。参考图3,该装置包括:
第一解析模块100,用于对探测到的当前非法用户请求进行第一解析,得到当前非法用户请求中的SQL注入语句的注入内容,其中,当前非法用户请求为判定为用于SQL注入攻击的网络请求;
攻击状态判断模块200,用于根据注入内容确定当前非法用户请求在攻击链中所属的攻击阶段,其中,攻击阶段包括探测阶段和入侵阶段;
关联模块300,用于若当前非法用户请求所属的攻击阶段为入侵阶段,则确定在同一个被攻击对象的运行环境中是否存在与当前非法用户请求关联的目标数据库请求,其中,目标数据库请求是被攻击对象根据当前非法用户请求发起的;
第一判定模块400,用于若存在目标数据库请求,或,存在目标数据库请求且目标数据库请求被成功执行,则判定当前非法用户请求对应的SQL注入攻击结果为攻击成功。
在一个实施例中,该装置还包括:
响应包获取模块,用于获取探测到的当前非法用户请求的响应包;
特征分析判断模块,用于若当前非法用户请求的响应包中存在指示请求被拦截的防火墙特征或指示请求失败的特定响应码,则判定当前非法用户请求的SQL注入攻击结果为失败。
在一个实施例中,关联模块300具体包括:
时间戳获取模块,用于获取探测到当前非法用户请求的第一时间戳,及在第一时间戳之后同一个被攻击对象的运行环境中探测到数据库请求的第二时间戳;
候选请求确定模块,用于根据第一时间戳与每个第二时间戳的第一时间差确定与当前非法用户请求疑似存在关联的候选数据库请求,其中,候选数据库请求对应的第一时间差小于第一阈值;
语法解析模块,用于分别对当前非法用户请求中的SQL注入语句和候选数据库请求中的SQL语句进行第二解析,得到各自的语法特征;
语法关联模块,用于将与当前非法用户请求语法特征关联的候选数据库请求作为目标数据库请求。
在一个实施例中,该装置还包括:
攻击类型确定模块,用于若不存在目标数据库请求或当前非法用户请求所属的攻击阶段为探测阶段,则根据当前非法用户请求中的SQL注入语句确定当前非法用户请求用于SQL注入攻击的攻击类型;
攻击链定位模块,用于根据当前非法用户请求的整体特征定位当前非法用户请求所属的子攻击链;
第二解析模块,用于若攻击类型为时间盲注,则解析当前非法用户请求中的延迟函数,得到理论延迟时长;
响应时长获取模块,用于获取当前非法用户请求的实际响应时长,其中,实际响应时长为探测到当前非法用户请求的第一时间戳与探测到对应响应包的第三时间戳之间的时间差;
真实延迟判断模块,用于将当前非法用户请求确定为待判断非法用户请求,根据当前非法用户请求及属于同一个子攻击链的目标历史待判断非法用户请求的理论延迟时长和实际响应时长,判断攻击链是否存在真实延迟的非法用户请求;
攻击结果确定模块,用于将攻击链中判定为存在真实延迟的非法用户请求对应的SQL注入攻击结果确定为攻击成功。
在一个实施例中,真实延迟判断模块具体包括:
第一配对模块,用于根据实际响应时长和理论延迟时长对当前非法用户请求与属于同一个子攻击链目标历史待判断非法用户请求进行第一请求配对;
延迟判断模块,用于若第一请求对的总对数超过第一预设数量,则判定所有第一请求对所对应的目标非法用户请求执行过真实延迟,其中,第一请求对的总对数包括当前轮新生成的第一请求对和历史保留的第一请求对的对数之和;
第一移除模块,用于将目标非法用户请求从对应子攻击链的历史待判断非法用户请求中移除;
第一保留模块,用于若第一请求对的总对数不超过第一预设数量,则保留第一请求对以等待下轮判断。
在一个实施例中,真实延迟判断模块具体包括:
网络延迟判断模块,用于根据当前非法用户请求的SQL注入语句中的逻辑判断信息和理论延迟时长、实际响应时长判断当前非法用户请求是否存在严重网络延迟误差;
待判断请求确定模块,用于若当前非法用户请求不存在网络延迟误差,则将当前非法用户请求确定为待判断非法用户请求。
在一个实施例中,网络延迟判断模块具体包括:
第一子判断单元,用于若当前非法用户请求的SQL注入语句中包含延迟语句且不包含决定延迟语句是否执行的逻辑判断语句,则若实际响应时长与理论延迟时长的差值的绝对值超过第二阈值,则判定当前非法用户请求存在网络延迟误差,
第二子判断单元,用于若实际响应时长与理论延迟时长的差值的绝对值不超过第二阈值,则判定当前非法用户请求不存在网络延迟误差;
第三子判断单元,用于若当前非法用户请求的SQL注入语句中包含延迟语句且包含决定延迟语句是否执行的逻辑判断语句,则若实际响应时长与理论延迟时长的差值的绝对值超过第三阈值或实际响应时长超过第四阈值,则判定当前非法用户请求存在网络延迟误差,
第四子判断单元,用于若实际响应时长与理论延迟时长的差值的绝对值不超过第三阈值且实际响应时长不超过第四阈值,则判定当前非法用户请求不存在网络延迟误差。
在一个实施例中,该装置还包括:
攻击类型确定模块,用于若不存在目标数据库请求,则根据当前非法用户请求中的SQL注入语句确定当前非法用户请求用于SQL注入攻击的攻击类型;
攻击链定位模块,用于根据当前非法用户请求的整体特征定位当前非法用户请求所属的子攻击链;
响应信息获取模块,用于若攻击类型为布尔盲注,则获取当前非法用户请求对应响应包的响应信息;
第二配对模块,用于根据当前非法用户请求的响应信息及属于同一个子攻击链的目标历史非法用户请求的响应信息进行第二请求配对;
聚类模块,用于判断子攻击链中是否存在满足二值分布的请求集合,其中,请求集合中包括至少第二预设数量的第二请求对;
攻击结果确定模块,用于将请求集合中的非法用户请求对应的SQL注入攻击结果确定为攻击成功。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于攻击结果的检测装置的具体限定可以参见上文中对于攻击结果的检测方法的限定,在此不再赘述。上述攻击结果的检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图4为本申请一实施例中计算机设备的内部结构框图。该计算机设备具体为攻击结果的检测装置所部署的设备。如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,该计算机设备的处理器用于提供计算和控制能力。存储器包括存储介质和内存储器。存储介质可以是非易失性存储介质,也可以是易失性存储介质。存储介质存储有操作系统,还可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现攻击结果的检测方法。该内存储器为存储介质中的操作系统和计算机可读指令的运行提供环境。该内存储器中也可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行攻击结果的检测方法。该计算机设备的网络接口用于与外部服务器通过网络连接通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令(例如计算机程序),处理器执行计算机可读指令时实现上述实施例中攻击结果的检测方法的步骤,例如图2所示的步骤S100至步骤S400及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机可读指令时实现上述实施例中攻击结果的检测装置的各模块/单元的功能,例如图3所示模块100至模块400的功能。为避免重复,这里不再赘述。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机可读指令和/或模块,处理器通过运行或执行存储在存储器内的计算机可读指令和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
存储器可以集成在处理器中,也可以与处理器分开设置。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现上述实施例中攻击结果的检测方法的步骤,例如图2所示的步骤S100至步骤S400及该方法的其它扩展和相关步骤的延伸。或者,计算机可读指令被处理器执行时实现上述实施例中攻击结果的检测装置的各模块/单元的功能,例如图3所示模块100至模块400的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指示相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (11)
1.一种攻击结果的检测方法,其特征在于,所述方法包括:
对探测到的当前非法用户请求进行第一解析,得到所述当前非法用户请求中的SQL注入语句的注入内容,其中,所述当前非法用户请求为判定为用于SQL注入攻击的网络请求;
根据所述注入内容确定所述当前非法用户请求在攻击链中所属的攻击阶段,其中,所述攻击阶段包括探测阶段和入侵阶段;
若所述当前非法用户请求所属的攻击阶段为入侵阶段,则确定在同一个被攻击对象的运行环境中是否存在与所述当前非法用户请求关联的目标数据库请求,所述当前非法用户请求关联的目标数据库请求包括与所述当前非法用户请求的语法特征关联的候选数据库请求,其中,所述目标数据库请求是所述被攻击对象根据所述当前非法用户请求发起的;
若存在目标数据库请求,或,存在目标数据库请求且所述目标数据库请求被成功执行,则判定所述当前非法用户请求对应的SQL注入攻击结果为攻击成功。
2.根据权利要求1所述的方法,其特征在于,在所述对探测到的当前非法用户请求进行第一解析,得到所述当前非法用户请求中的SQL注入语句的注入内容之前,所述方法还包括:
获取探测到的当前非法用户请求的响应包;
若所述当前非法用户请求的响应包中存在指示请求被拦截的防火墙特征或指示请求失败的特定响应码,则判定所述当前非法用户请求的SQL注入攻击结果为失败。
3.根据权利要求1所述的方法,其特征在于,所述确定在同一个被攻击对象的运行环境中是否存在与所述当前非法用户请求关联的目标数据库请求,包括:
获取探测到所述当前非法用户请求的第一时间戳,及在所述第一时间戳之后同一个被攻击对象的运行环境中探测到数据库请求的第二时间戳;
根据所述第一时间戳与每个第二时间戳的第一时间差确定与所述当前非法用户请求疑似存在关联的候选数据库请求,其中,所述候选数据库请求对应的第一时间差小于第一阈值;
分别对所述当前非法用户请求中的SQL注入语句和所述候选数据库请求中的SQL语句进行第二解析,得到各自的语法特征;
将与所述当前非法用户请求语法特征关联的候选数据库请求作为目标数据库请求。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若不存在目标数据库请求或所述当前非法用户请求所属的攻击阶段为探测阶段,则根据所述当前非法用户请求中的SQL注入语句确定所述当前非法用户请求用于SQL注入攻击的攻击类型;
根据所述当前非法用户请求的整体特征定位所述当前非法用户请求所属的子攻击链;
若所述攻击类型为时间盲注,则解析所述当前非法用户请求中的延迟函数,得到理论延迟时长;
获取所述当前非法用户请求的实际响应时长,其中,所述实际响应时长为探测到所述当前非法用户请求的第一时间戳与探测到对应响应包的第三时间戳之间的时间差;
将所述当前非法用户请求确定为待判断非法用户请求,根据所述当前非法用户请求及属于同一个子攻击链的目标历史待判断非法用户请求的理论延迟时长和实际响应时长,判断所述攻击链是否存在真实延迟的非法用户请求;
将所述攻击链中判定为存在真实延迟的非法用户请求对应的SQL注入攻击结果确定为攻击成功。
5.根据权利要求4所述的方法,其特征在于,所述根据所述当前非法用户请求及属于同一个子攻击链的目标历史待判断非法用户请求的理论延迟时长和实际响应时长,判断所述攻击链是否存在真实延迟的非法用户请求,包括:
根据所述实际响应时长和理论延迟时长对所述当前非法用户请求与属于同一个子攻击链目标历史待判断非法用户请求进行第一请求配对;
若第一请求对的总对数超过第一预设数量,则判定所有第一请求对所对应的目标非法用户请求执行过真实延迟,其中,所述第一请求对的总对数包括当前轮新生成的第一请求对和历史保留的第一请求对的对数之和;
将所述目标非法用户请求从对应子攻击链的历史待判断非法用户请求中移除;
若第一请求对的总对数不超过所述第一预设数量,则保留所述第一请求对以等待下轮判断。
6.根据权利要求4所述的方法,其特征在于,所述将所述当前非法用户请求确定为待判断非法用户请求,包括:
根据所述当前非法用户请求的SQL注入语句中的逻辑判断信息和所述理论延迟时长、实际响应时长判断所述当前非法用户请求是否存在严重网络延迟误差;
若所述当前非法用户请求不存在网络延迟误差,则将所述当前非法用户请求确定为待判断非法用户请求。
7.根据权利要求6所述的方法,其特征在于,所述根据所述当前非法用户请求的SQL注入语句中的逻辑判断信息和所述理论延迟时长、实际响应时长判断所述当前非法用户请求是否存在严重网络延迟误差,包括:
若所述当前非法用户请求的SQL注入语句中包含延迟语句且不包含决定所述延迟语句是否执行的逻辑判断语句,则若所述实际响应时长与所述理论延迟时长的差值的绝对值超过第二阈值,则判定所述当前非法用户请求存在网络延迟误差,
若所述实际响应时长与所述理论延迟时长的差值的绝对值不超过所述第二阈值,则判定所述当前非法用户请求不存在网络延迟误差;
若所述当前非法用户请求的SQL注入语句中包含延迟语句且包含决定所述延迟语句是否执行的逻辑判断语句,则若所述实际响应时长与所述理论延迟时长的差值的绝对值超过第三阈值或所述实际响应时长超过第四阈值,则判定所述当前非法用户请求存在网络延迟误差,
若所述实际响应时长与所述理论延迟时长的差值的绝对值不超过所述第三阈值且所述实际响应时长不超过所述第四阈值,则判定所述当前非法用户请求不存在网络延迟误差。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若不存在目标数据库请求,则根据所述当前非法用户请求中的SQL注入语句确定所述当前非法用户请求用于SQL注入攻击的攻击类型;
根据所述当前非法用户请求的整体特征定位所述当前非法用户请求所属的子攻击链;
若所述攻击类型为布尔盲注,则获取所述当前非法用户请求对应响应包的响应信息;
根据所述当前非法用户请求的响应信息及属于同一个子攻击链的目标历史非法用户请求的响应信息进行第二请求配对;
判断所述子攻击链中是否存在满足二值分布的请求集合,其中,所述请求集合中包括至少第二预设数量的第二请求对;
将请求集合中的非法用户请求对应的SQL注入攻击结果确定为攻击成功。
9.一种攻击结果的检测装置,其特征在于,所述装置包括:
第一解析模块,用于对探测到的当前非法用户请求进行第一解析,得到所述当前非法用户请求中的SQL注入语句的注入内容,其中,所述当前非法用户请求为判定为用于SQL注入攻击的网络请求;
攻击状态判断模块,用于根据所述注入内容确定所述当前非法用户请求在攻击链中所属的攻击阶段,其中,所述攻击阶段包括探测阶段和入侵阶段;
关联模块,用于若所述当前非法用户请求所属的攻击阶段为入侵阶段,则确定在同一个被攻击对象的运行环境中是否存在与所述当前非法用户请求关联的目标数据库请求,所述当前非法用户请求关联的目标数据库请求包括与所述当前非法用户请求的语法特征关联的候选数据库请求,其中,所述目标数据库请求是所述被攻击对象根据所述当前非法用户请求发起的;
第一判定模块,用于若存在目标数据库请求,或,存在目标数据库请求且所述目标数据库请求被成功执行,则判定所述当前非法用户请求对应的SQL注入攻击结果为攻击成功。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时执行如权利要求1-8任一项所述的攻击结果的检测方法的步骤。
11.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时,使得所述处理器执行如权利要求1-8任一项所述的攻击结果的检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210809390.1A CN115314255B (zh) | 2022-07-11 | 2022-07-11 | 攻击结果的检测方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210809390.1A CN115314255B (zh) | 2022-07-11 | 2022-07-11 | 攻击结果的检测方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115314255A CN115314255A (zh) | 2022-11-08 |
CN115314255B true CN115314255B (zh) | 2023-12-29 |
Family
ID=83856479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210809390.1A Active CN115314255B (zh) | 2022-07-11 | 2022-07-11 | 攻击结果的检测方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115314255B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827688B (zh) * | 2023-08-28 | 2023-11-10 | 北京安天网络安全技术有限公司 | 一种设备安全防护方法、装置、设备及介质 |
CN117527354A (zh) * | 2023-11-08 | 2024-02-06 | 北京微步在线科技有限公司 | 一种攻击检测方法、装置、电子设备及存储介质 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559444A (zh) * | 2013-11-05 | 2014-02-05 | 星云融创(北京)信息技术有限公司 | 一种sql注入检测方法及装置 |
CN103902912A (zh) * | 2012-12-26 | 2014-07-02 | 深圳市腾讯计算机系统有限公司 | 网页漏洞的检测方法和装置 |
US9294498B1 (en) * | 2014-12-13 | 2016-03-22 | SecurityScorecard, Inc. | Online portal for improving cybersecurity risk scores |
CN106357696A (zh) * | 2016-11-14 | 2017-01-25 | 北京神州绿盟信息安全科技股份有限公司 | 一种sql注入攻击检测方法及系统 |
CN106650454A (zh) * | 2017-01-03 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种sql注入攻击检测方法和装置 |
CN106790195A (zh) * | 2016-12-30 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种sql注入检测方法及装置 |
CN107659583A (zh) * | 2017-10-27 | 2018-02-02 | 深信服科技股份有限公司 | 一种检测事中攻击的方法及系统 |
CN107911355A (zh) * | 2017-11-07 | 2018-04-13 | 杭州安恒信息技术有限公司 | 一种基于攻击链的网站后门利用事件识别方法 |
CN108090351A (zh) * | 2017-12-14 | 2018-05-29 | 北京百度网讯科技有限公司 | 用于处理请求消息的方法和装置 |
CN108632263A (zh) * | 2018-04-25 | 2018-10-09 | 杭州闪捷信息科技股份有限公司 | 一种sql注入点的检测方法 |
CN110321711A (zh) * | 2019-07-05 | 2019-10-11 | 杭州安恒信息技术股份有限公司 | 检测应用服务器sql注入点的方法及系统 |
CN110363008A (zh) * | 2019-07-11 | 2019-10-22 | 北京脉冲星科技有限公司 | 一种sql时间盲注的漏洞检测方法、装置和存储设备 |
CN110535973A (zh) * | 2019-09-18 | 2019-12-03 | 北京明朝万达科技股份有限公司 | 一种sql注入威胁的检测方法及装置 |
CN111353151A (zh) * | 2020-02-27 | 2020-06-30 | 腾讯云计算(北京)有限责任公司 | 一种网络应用的漏洞检测方法和装置 |
CN113055399A (zh) * | 2021-03-31 | 2021-06-29 | 深信服科技股份有限公司 | 注入攻击的攻击成功检测方法、系统及相关装置 |
CN113190839A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于SQL注入的web攻击防护方法及系统 |
CN113965418A (zh) * | 2021-12-22 | 2022-01-21 | 北京微步在线科技有限公司 | 一种攻击成功判定方法及装置 |
CN114048471A (zh) * | 2022-01-14 | 2022-02-15 | 北京邮电大学 | 一种网页漏洞检测方法、装置、电子设备及存储介质 |
CN114154087A (zh) * | 2021-12-03 | 2022-03-08 | 杭州安恒信息技术股份有限公司 | 一种时间盲注检测方法、装置、设备及可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7640235B2 (en) * | 2005-12-12 | 2009-12-29 | Imperva, Inc. | System and method for correlating between HTTP requests and SQL queries |
EP2023569B1 (en) * | 2007-08-09 | 2010-05-12 | Sap Ag | Input and output validation for protecting database servers |
US8997232B2 (en) * | 2013-04-22 | 2015-03-31 | Imperva, Inc. | Iterative automatic generation of attribute values for rules of a web application layer attack detector |
WO2016186975A1 (en) * | 2015-05-15 | 2016-11-24 | Virsec Systems, Inc. | Detection of sql injection attacks |
US10496647B2 (en) * | 2017-04-18 | 2019-12-03 | Microsoft Technology Licensing, Llc | Delay detection in query processing |
US10805345B2 (en) * | 2017-09-29 | 2020-10-13 | Paypal, Inc. | Blind injection attack mitigation |
US11457023B2 (en) * | 2019-01-18 | 2022-09-27 | Imperva, Inc. | Chunk-scanning of web application layer requests to reduce delays |
US11765202B2 (en) * | 2020-01-17 | 2023-09-19 | Cisco Technology, Inc. | Automatic detection and prevention of injection attacks |
-
2022
- 2022-07-11 CN CN202210809390.1A patent/CN115314255B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902912A (zh) * | 2012-12-26 | 2014-07-02 | 深圳市腾讯计算机系统有限公司 | 网页漏洞的检测方法和装置 |
CN103559444A (zh) * | 2013-11-05 | 2014-02-05 | 星云融创(北京)信息技术有限公司 | 一种sql注入检测方法及装置 |
US9294498B1 (en) * | 2014-12-13 | 2016-03-22 | SecurityScorecard, Inc. | Online portal for improving cybersecurity risk scores |
CN106357696A (zh) * | 2016-11-14 | 2017-01-25 | 北京神州绿盟信息安全科技股份有限公司 | 一种sql注入攻击检测方法及系统 |
CN106790195A (zh) * | 2016-12-30 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种sql注入检测方法及装置 |
CN106650454A (zh) * | 2017-01-03 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种sql注入攻击检测方法和装置 |
CN107659583A (zh) * | 2017-10-27 | 2018-02-02 | 深信服科技股份有限公司 | 一种检测事中攻击的方法及系统 |
CN107911355A (zh) * | 2017-11-07 | 2018-04-13 | 杭州安恒信息技术有限公司 | 一种基于攻击链的网站后门利用事件识别方法 |
CN108090351A (zh) * | 2017-12-14 | 2018-05-29 | 北京百度网讯科技有限公司 | 用于处理请求消息的方法和装置 |
CN108632263A (zh) * | 2018-04-25 | 2018-10-09 | 杭州闪捷信息科技股份有限公司 | 一种sql注入点的检测方法 |
CN110321711A (zh) * | 2019-07-05 | 2019-10-11 | 杭州安恒信息技术股份有限公司 | 检测应用服务器sql注入点的方法及系统 |
CN110363008A (zh) * | 2019-07-11 | 2019-10-22 | 北京脉冲星科技有限公司 | 一种sql时间盲注的漏洞检测方法、装置和存储设备 |
CN110535973A (zh) * | 2019-09-18 | 2019-12-03 | 北京明朝万达科技股份有限公司 | 一种sql注入威胁的检测方法及装置 |
CN111353151A (zh) * | 2020-02-27 | 2020-06-30 | 腾讯云计算(北京)有限责任公司 | 一种网络应用的漏洞检测方法和装置 |
CN113190839A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于SQL注入的web攻击防护方法及系统 |
CN113055399A (zh) * | 2021-03-31 | 2021-06-29 | 深信服科技股份有限公司 | 注入攻击的攻击成功检测方法、系统及相关装置 |
CN114154087A (zh) * | 2021-12-03 | 2022-03-08 | 杭州安恒信息技术股份有限公司 | 一种时间盲注检测方法、装置、设备及可读存储介质 |
CN113965418A (zh) * | 2021-12-22 | 2022-01-21 | 北京微步在线科技有限公司 | 一种攻击成功判定方法及装置 |
CN114048471A (zh) * | 2022-01-14 | 2022-02-15 | 北京邮电大学 | 一种网页漏洞检测方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Web应用常见注入式安全漏洞检测关键技术综述;王丹;赵文兵;丁治明;;北京工业大学学报(12);第62-72页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115314255A (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115314255B (zh) | 攻击结果的检测方法、装置、计算机设备和存储介质 | |
CN109768992B (zh) | 网页恶意扫描处理方法及装置、终端设备、可读存储介质 | |
CN108932426B (zh) | 越权漏洞检测方法和装置 | |
CN107294953B (zh) | 攻击操作检测方法及装置 | |
CN106528659B (zh) | 浏览器跳转至应用程序的控制方法及装置 | |
CN108600172B (zh) | 撞库攻击检测方法、装置、设备及计算机可读存储介质 | |
CN110602137A (zh) | 恶意ip和恶意url拦截方法、装置、设备及介质 | |
CN110213357A (zh) | 业务数据回退方法、装置、计算机设备和存储介质 | |
CN109413016B (zh) | 一种基于规则的报文检测方法和装置 | |
CN111104579A (zh) | 一种公网资产的识别方法、装置及存储介质 | |
CN113055399A (zh) | 注入攻击的攻击成功检测方法、系统及相关装置 | |
CN106250761B (zh) | 一种识别web自动化工具的设备、装置及方法 | |
CN111865997A (zh) | 基于被动流量的web漏洞检测方法、装置、设备及介质 | |
CN108804501B (zh) | 一种检测有效信息的方法及装置 | |
CN108650123B (zh) | 故障信息记录方法、装置、设备和存储介质 | |
CN111314326B (zh) | Http漏洞扫描主机的确认方法、装置、设备及介质 | |
US10313127B1 (en) | Method and system for detecting and alerting users of device fingerprinting attempts | |
CN114363002B (zh) | 一种网络攻击关系图的生成方法及装置 | |
CN114531340B (zh) | 日志获取方法、装置、电子设备、芯片及存储介质 | |
CN111191235B (zh) | 可疑文件分析方法、装置和计算机可读存储介质 | |
CN113094283A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN112257100A (zh) | 敏感数据保护效果的检测方法、装置及存储介质 | |
CN113660277B (zh) | 一种基于复用埋点信息的反爬虫方法及处理终端 | |
CN113489677B (zh) | 一种基于语义上下文的零规则攻击检测方法及装置 | |
CN116094847B (zh) | 蜜罐识别方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |