CN113660250B - 基于web应用防火墙的防御方法、装置、系统和电子装置 - Google Patents
基于web应用防火墙的防御方法、装置、系统和电子装置 Download PDFInfo
- Publication number
- CN113660250B CN113660250B CN202110923075.7A CN202110923075A CN113660250B CN 113660250 B CN113660250 B CN 113660250B CN 202110923075 A CN202110923075 A CN 202110923075A CN 113660250 B CN113660250 B CN 113660250B
- Authority
- CN
- China
- Prior art keywords
- message
- processing
- combination mode
- decoding
- processing result
- 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
Images
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/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
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- 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/12—Applying verification of the received information
-
- 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
-
- 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/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
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)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种基于WEB应用防火墙的防御方法、装置、系统和电子装置,其中,该基于WEB应用防火墙的防御方法包括:接收到HTTP报文;遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对所述报文进行处理,得到与各组合方式对应的处理结果;根据所述处理结果,判断所述报文是否为正常报文。通过本申请,解决了解析解码的顺序固定导致的攻击者的攻击行为生效的问题,实现了WEB应用防火墙的安全防护的技术效果。提高攻击行为的检出率,降低了攻击行为生效的可能性,增强了防御性能。
Description
技术领域
本申请涉及网络安全技术领域,特别是涉及基于WEB应用防火墙的防御方法、装置、系统和电子装置。
背景技术
现有的WEB应用防火墙接收到HTTP(Hyper Text Transfer Protocol,超文本传输协议)报文后,解析请求包正文内容前会先查看Content-Type头部,依据该头部指定的类型去解析请求包正文内容。比如Content-Type头部为appliaction/json时,会按照json语法去解析请求包正文内容。当请求包正文确实是json格式时,且未经任何类型的编码,则可以解析出正确的键值对,继而对解析出来的键值对进行解码探测。当json格式的请求包正文内容经过一次或多次某种类型的编码后,将不能解析出正确的参数键值对。
相关技术中,WEB应用防火墙接收到HTTP报文后,针对解析和解码两种处理,顺序依次为先执行解析,后执行解码。当请求包正文内容经过一次或多次编码后,将解析不出正确的键值对,导致请求处理流程在解析执行之后就结束。从而导致攻击者发送的攻击请求绕过WEB应用防火墙的检测。到达后端服务器,对后端服务器构成有效攻击。
针对相关技术中存在的WEB应用防火墙防御系统中,解析解码的顺序固定导致的攻击者的攻击行为生效的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种基于WEB应用防火墙的防御方法、装置、系统、电子装置和存储介质,以解决相关技术中解析解码的顺序固定导致的攻击者的攻击行为生效的问题。
第一个方面,在本实施例中提供了一种基于WEB应用防火墙的防御方法,包括:
接收到HTTP报文;
遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对所述报文进行处理,得到与各组合方式对应的处理结果;
根据所述处理结果,判断所述报文是否为正常报文。
在其中的一些实施例中,所述预设解析方法集合包括以下至少之一:JSON解析方法和XML解析方法。
在其中的一些实施例中,所述解码方法集合包括以下至少之一:URL解码方法、BASE64解码方法和HTML解码方法。
在其中的一些实施例中,基于各组合方式对所述报文进行处理,包括:若在基于一种组合方式对所述报文进行处理后得到的为所述报文的中间处理结果,则基于所述各组合方式对所述中间处理结果进行处理,直至获得所述处理结果。
在其中的一些实施例中,基于所述各组合方式对所述中间处理结果进行处理,直至获得所述处理结果,包括:
依次基于任一所述组合方式对所述中间处理结果进行处理,得到二次处理结果;
在所述二次处理结果为失败时,则将失败时的上一次处理过程所用组合方式对应的中间处理结果,确定为所述处理结果。
在其中的一些实施例中,对所述报文进行处理,包括:
在基于一种组合方式对所述报文进行处理时,若所述解析方法为同一类型时,对所述报文批量执行所述解析方法,若所述解码方法为同一类型时,对所述报文批量执行所述解码方法。
第二个方面,在本实施例中提供了一种基于WEB应用防火墙的防御装置,包括:接收模块、处理模块和判断模块;
所述接收模块用于接收HTTP报文;
所述处理模块用于遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对所述报文进行处理,得到与各组合方式对应的处理结果;
所述判断模块用于判断所述HTTP报文是否是正常报文。
第三个方面,在本实施例中提供了一种基于WEB应用防火墙的防御系统,其特征在于,包括:终端设备和服务器设备;
所述终端设备用于发送HTTP报文;
所述服务器设备用于执行第一个方面所述的WEB应用防火墙的防御方法。
第四个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的基于WEB应用防火墙的防御方法。
第五个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的基于WEB应用防火墙的防御方法。
与相关技术相比,在本实施例中提供的基于WEB应用防火墙的防御方法,通过遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对所述报文进行处理,得到与各组合方式对应的处理结果,解决了解析解码的顺序固定导致的攻击者的攻击行为生效的问题,实现了WEB应用防火墙的安全防护的技术效果。提高攻击行为的检出率,降低了攻击行为生效的可能性,增强了防御性能。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本实施例的基于WEB应用防火墙的防御方法流程图;
图2是本优选实施例的基于WEB应用防火墙的防御方法流程图;
图3是本实施例的基于WEB应用防火墙的防御装置的结构框图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
在本实施例中提供了一种基于WEB应用防火墙的防御方法,图1是本实施例的基于WEB应用防火墙的防御方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101:接收到HTTP报文。
HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。在本实施例中指的是请求报文。
一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成。
请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET/index.html HTTP/1.1。HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。
请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:User-Agent:产生请求的浏览器类型。Accept:客户端可识别的内容类型列表。Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。
最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。
请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length。
步骤S102:遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对报文进行处理,得到与各组合方式对应的处理结果。
先罗列出常用的解析方法和解码方法,形成通用处理方法列表,例如JSON解析、XML解析、URL解码、BASE64解码、HTML解码等。对HTTP报文请求包正文内容进行JSON解析、XML解析、URL解码、BASE64解码、HTML解码操作,例如,对JSON解析来说,输入符合JSON的语法,可以产生正确的键值对,对URL解码来说,输入产生了新的解码结果,对BASE64解码来说,输入符合BASE64编码格式,且产生了新的解码结果。
通过上述操作步骤得到解析和解码的结果。
步骤S103:根据处理结果,判断报文是否为正常报文。
WEB应用防火墙系统中的检测模块检测上述步骤的解析和解码的结果,并判断HTTP请求报文是正常报文还是攻击报文,在HTTP请求报文是正常报文时,WEB应用防火墙系统将该HTTP请求报文放行,在HTTP请求报文不是正常报文时,WEB应用防火墙系统将该HTTP请求报文拦截。
通过上述步骤,在本实施例中提供的基于WEB应用防火墙的防御方法,通过遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对所述报文进行处理,得到与各组合方式对应的处理结果,相关技术中针对传统WEB应用防火墙系统中先解析后解码,即解析解码顺序固定导致的攻击者的攻击行为生效的问题,与相关技术相比,本申请通过采用混合解析解码的方式解决了解析解码的顺序固定导致的攻击者的攻击行为生效的问题,实现了WEB应用防火墙的安全防护的技术效果,提高了攻击行为的检出率,降低了攻击行为生效的可能性,增强了防御性能,从而降低了WEB应用防护墙系统的漏报率,减少了被编码的攻击请求对后端服务器的攻击。
在其中一些实施例中,预设解析方法集合包括以下至少之一:JSON解析方法和XML解析方法。
具体的,JSON(JavaScript Object Notation)是一种轻量级的数据格式,它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
XML(Extensible Markup Language)的解析方式有两种:一种方法是通过文档模型解析,也就是通过父标签索引出一组标记。例如:xmlData.getElementsByTagName("tagName"),但是这样是要在预先知道文档结构的情况下使用,无法进行通用的封装。另外一种方法是遍历节点(document以及childNodes)。这个可以通过递归来实现,不过解析出来的数据仍旧是形式各异,往往也不能满足预先的要求。凡是这样可扩展的结构数据解析起来一定都很困难。
JSON解析一般用于数据交互,服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外)。
在其中一些实施例中,解码方法集合包括以下至少之一:URL解码方法、BASE64解码方法和HTML解码方法。
URL解码(UrlDecode,路径解码)本函数对字符串进行URL解码。例如通过UrlEncode编码后的字符串,可通过UrlDecode进行解码。对URL路径加码的函数是UrlEncode用法相反,和UrlDecode是一致对应的。
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。
Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。
Base64由于以上优点被广泛应用于计算机的各个领域,然而由于输出内容中包括两个以上“符号类”字符:(+,/,=),不同的应用场景又分别研制了Base64的各种“变种”。为统一和规范化Base64的输出,Base62x被视为无符号化的改进版本。
HTML(Hyper Text Markup Language,超文本标记语言)是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。
在其中一些实施例中,基于各组合方式对报文进行处理,包括:若在基于一种组合方式对报文进行处理后得到的为报文的中间处理结果,则基于各组合方式对中间处理结果进行处理,直至获得处理结果。
若基于一种解析和解码的处理方式处理成功后,在本实施例中,以JSON解析、URL解码、BASE64解码为例,对HTTP请求报文进行JSON解析、URL解码、BASE64解码处理,并处理成功,需对JSON解析、URL解码、BASE64解码后的结果进行新一轮的解析和解码处理,在本实施例中,还以JSON解析、URL解码、BASE64解码为例,即对解析和解码后的结果进行新一轮的JSON解析、URL解码、BASE64解码,直到获得最终的解析和解码的结果。
其中,处理成功的含义是,对JSON解析来说,输入符合JSON的语法,可以产生正确的键值对。对URL解码来说,输入产生了新的解码结果。对BASE64解码来说,输入符合BASE64编码格式,且产生了新的解码结果。
在其中一些实施例中,基于各组合方式对中间处理结果进行处理,直至获得处理结果,包括:依次基于任一组合方式对中间处理结果进行处理,得到二次处理结果;在二次处理结果为失败时,则将失败时的上一次处理过程所用组合方式对应的中间处理结果,确定为处理结果。
若基于一种解析和解码的处理方式处理失败,在本实施例中,以JSON解析、URL解码、BASE64解码为例,对HTTP请求报文进行JSON解析、URL解码、BASE64解码处理,但是处理失败,则结束该条路径上的解析和解码处理,以上一次的处理成功的结果为该处理路径上的最终的结果。
其中,处理失败的含义是,对JSON解析来说,输入不符合JSON的语法,产生不了有效的键值对。对URL解码来说,输入没有产生新的解码结果。对BASE64解码来说,输入不符合BASE64编码格式,或产生不了新的解码结果。
在其中一些实施例中,对报文进行处理,包括:在基于一种组合方式对报文进行处理时,若解析方法为同一类型时,对报文批量执行解析方法,若解码方法为同一类型时,对报文批量执行解码方法。
批量执行可以提高解析和解码的效率。
下面通过优选实施例对本实施例进行描述和说明。
图2是本优选实施例的基于WEB应用防火墙的防御方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201:接收到HTTP请求报文。
WEB应用防火墙的接收模块接收到HTTP请求报文。
步骤S202:对接收到的HTTP请求报文进行解析解码处理。
其中,解析和解码处理包括遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对报文进行处理,得到与各组合方式对应的处理结果。
在本实施例中,WEB应用防火墙的处理模块内罗列出通用的解析解码方法,形成通用处理方法列表,如JSON解析、XML解析、URL解码、BASE64解码、HTML解码等,以下假设列表中的元素只有JSON解析、URL解码以及BASE64解码,构成请求包正文内容预处理模块,以下简称“预处理模块”。
在本实施例中,以HTTP请求报文请求包正文内容为输入,预处理模块首先分别对HTTP请求报文进行解析和解码处理,在本实施例中,解析解码组合方式以JSON解析、URL解码、BASE64解码为例,先对HTTP请求报文进行JSON解析、URL解码、BASE64解码,得到解析解码的结果。
步骤S203:判断处理结果是否是最终的结果,若处理结果是最终的处理结果,则进入步骤S204,若处理结果不是最终的处理结果,则返回步骤S202。
根据步骤S202中对HTTP请求报文的处理结果,判断HTTP请求报文的处理结果是否是最终的处理结果,而判断处理结果是否是最终处理结果的判断依据是:基于一种组合方式的解析和解码的处理结果是否失败,在基于一种组合方式的解析和解码的处理结果是失败时,则该条路径上一次的处理结果即为最终的结果。
若对HTTP请求报文以解析方法与解码方法的各组合方式中的其中一种处理方式处理成功,则对处理后的结果进行解析方法与解码方法的各组合方式中的另一种处理方式进行处理,在本实施例中,例如,对HTTP请求报文进行JSON解析和URL解码处理,且处理结果是成功,对处理成功后的处理结果再次进行的JSON解析和BASE64解码,并获取处理结果,直至处理结果为失败,否则对处理结果再次进行一种组合方式的处理。若某种方式的处理为失败,则结束该条路径上的处理,以处理结果为失败的前一次处理的处理结果为该处理路径上的最终结果。在本实施例中,处理成功的含义是,对JSON解析来说,输入符合JSON的语法,可以产生正确的键值对。对URL解码来说,输入产生了新的解码结果。对BASE64解码来说,输入符合BASE64编码格式,且产生了新的解码结果。处理失败的含义是,对JSON解析来说,输入不符合JSON的语法,产生不了有效的键值对。对URL解码来说,输入没有产生新的解码结果。对BASE64解码来说,输入不符合BASE64编码格式,或产生不了新的解码结果。
步骤S204:判断最终的结果是否是攻击报文的处理结果,在最终的结果不是攻击报文的处理结果时,进入步骤S206,在最终的结果是攻击报文的处理结果时,进入步骤S205。
在本实施例中,常见的攻击包括:DDoS攻击(Distributed denial of serviceattack,分布式拒绝服务攻击)、CC攻击(Challenge Collapsar Attack,挑战黑洞)和扫描攻击等。
其中,分布式拒绝服务攻击原理分布式拒绝服务攻击DDoS是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布的、协同的大规模攻击方式。单一的DoS攻击一般是采用一对一方式的,它利用网络协议和操作系统的一些缺陷,采用欺骗和伪装的策略来进行网络攻击,使网站服务器充斥大量要回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。与DoS攻击由单台主机发起攻击相比较,分布式拒绝服务攻击DDoS是借助数百、甚至数千台被入侵后安装了攻击进程的主机同时发起的集团行为。
一个完整的DDoS攻击体系由攻击者、主控端、代理端和攻击目标四部分组成。主控端和代理端分别用于控制和实际发起攻击,其中主控端只发布命令而不参与实际的攻击,代理端发出DDoS的实际攻击包。对于主控端和代理端的计算机,攻击者有控制权或者部分控制权.它在攻击过程中会利用各种手段隐藏自己不被别人发现。真正的攻击者一旦将攻击的命令传送到主控端,攻击者就可以关闭或离开网络.而由主控端将命令发布到各个代理主机上。这样攻击者可以逃避追踪。每一个攻击代理主机都会向目标主机发送大量的服务请求数据包,这些数据包经过伪装,无法识别它的来源,而且这些数据包所请求的服务往往要消耗大量的系统资源,造成目标主机无法为用户提供正常服务。甚至导致系统崩溃。
CC攻击是DDoS攻击的一种类型,使用代理服务器向受害服务器发送大量貌似合法的请求。CC根据其工具命名,攻击者使用代理机制,利用众多广泛可用的免费代理服务器发动DDoS攻击。许多免费代理服务器支持匿名模式,这使追踪变得非常困难。
CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至网络拥塞,正常的访问被中止。
一旦识别出HTTP请求报文的解析和解码结果中包含上述攻击类型中的任一种攻击,WEB应用防火墙对对应的HTTP报文发出拦截指令。
步骤S205:WEB应用防火墙对HTTP请求报文进行拦截。
步骤S206:WEB应用防火墙对HTTP请求报文进行放行。
通过上述步骤,在本实施例中提供的基于WEB应用防火墙的防御方法,通过遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对所述报文进行处理,得到与各组合方式对应的处理结果,相关技术中针对传统WEB应用防火墙系统中先解析后解码,即解析解码顺序固定导致的攻击者的攻击行为生效的问题,与相关技术相比,本申请采用混合解析解码的方式本申请解决了解析解码的顺序固定导致的攻击者的攻击行为生效的问题,实现了WEB应用防火墙的安全防护的技术效果。提高攻击行为的检出率,降低了攻击行为生效的可能性,增强了防御性能。从而降低了WEB应用防护墙系统的漏报率,减少了被编码的攻击请求对后端服务器的攻击。
在本实施例中还提供了一种基于WEB应用防火墙的防御装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是本实施例的基于WEB应用防火墙的防御装置的结构框图,如图3所示,该装置包括:接收模块、处理模块和判断模块;
接收模块用于接收HTTP报文。
处理模块用于遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对报文进行处理,得到与各组合方式对应的处理结果。
判断模块用于判断HTTP报文是否是正常报文。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在本实施例中还提供了一种基于WEB应用防火墙的防御系统,包括:终端设备和服务器设备;终端设备用于发送HTTP报文;服务器设备用于上述任一项方法实施例中的步骤。
在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收到HTTP报文。
S2,遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对报文进行处理,得到与各组合方式对应的处理结果。
S3,根据处理结果,判断报文是否为正常报文。
需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
此外,结合上述实施例中提供的基于WEB应用防火墙的防御方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种基于WEB应用防火墙的防御方法。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (9)
1.一种基于WEB应用防火墙的防御方法,其特征在于,包括:
接收到HTTP报文;
遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对所述报文进行处理,得到与各组合方式对应的处理结果;
根据所述处理结果,判断所述报文是否为正常报文;
其中,基于各组合方式对所述报文进行处理,包括:若在基于一种组合方式对所述报文进行处理后得到的为所述报文的中间处理结果,则基于所述各组合方式对所述中间处理结果进行处理,直至获得所述处理结果。
2.根据权利要求1所述的基于WEB应用防火墙的防御方法,其特征在于,所述预设解析方法集合包括以下至少之一:JSON解析方法和XML解析方法。
3.根据权利要求1所述的基于WEB应用防火墙的防御方法,其特征在于,所述解码方法集合包括以下至少之一:URL解码方法、BASE64解码方法和HTML解码方法。
4.根据权利要求3所述的基于WEB应用防火墙的防御方法,其特征在于,基于所述各组合方式对所述中间处理结果进行处理,直至获得所述处理结果,包括:
依次基于任一所述组合方式对所述中间处理结果进行处理,得到二次处理结果;
在所述二次处理结果为失败时,则将失败时的上一次处理过程所用组合方式对应的中间处理结果,确定为所述处理结果。
5.根据权利要求1所述的基于WEB应用防火墙的防御方法,其特征在于,对所述报文进行处理,包括:
在基于一种组合方式对所述报文进行处理时,若所述解析方法为同一类型时,对所述报文批量执行所述解析方法,若所述解码方法为同一类型时,对所述报文批量执行所述解码方法。
6.一种基于WEB应用防火墙的防御装置,其特征在于,包括:接收模块、处理模块和判断模块;
所述接收模块用于接收HTTP报文;
所述处理模块用于遍历预设的解析方法集合和解码方法集合,得到解析方法与解码方法的各组合方式,分别基于各组合方式对所述报文进行处理,得到与各组合方式对应的处理结果;
所述判断模块用于判断所述HTTP报文是否是正常报文;
其中,基于各组合方式对所述报文进行处理,包括:若在基于一种组合方式对所述报文进行处理后得到的为所述报文的中间处理结果,则基于所述各组合方式对所述中间处理结果进行处理,直至获得所述处理结果。
7.一种基于WEB应用防火墙的防御系统,其特征在于,包括:终端设备和服务器设备;
所述终端设备用于发送HTTP报文;
所述服务器设备用于执行权利要求1至5中任一项所述的WEB应用防火墙的防御方法。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至5中任一项所述的基于WEB应用防火墙的防御方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的基于WEB应用防火墙的防御方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110923075.7A CN113660250B (zh) | 2021-08-12 | 2021-08-12 | 基于web应用防火墙的防御方法、装置、系统和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110923075.7A CN113660250B (zh) | 2021-08-12 | 2021-08-12 | 基于web应用防火墙的防御方法、装置、系统和电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113660250A CN113660250A (zh) | 2021-11-16 |
CN113660250B true CN113660250B (zh) | 2023-02-24 |
Family
ID=78491514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110923075.7A Active CN113660250B (zh) | 2021-08-12 | 2021-08-12 | 基于web应用防火墙的防御方法、装置、系统和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113660250B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124918A (zh) * | 2021-11-25 | 2022-03-01 | 中国银行股份有限公司 | 报文解析方法及装置 |
CN114615074B (zh) * | 2022-03-25 | 2024-08-13 | 山石网科通信技术股份有限公司 | 网络报文解码方法及网络攻击检测方法、装置和存储介质 |
CN115086044A (zh) * | 2022-06-17 | 2022-09-20 | 湖北天融信网络安全技术有限公司 | 一种攻击特征的处理方法及装置、电子设备、存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602007014347D1 (de) * | 2007-06-15 | 2011-06-16 | Research In Motion Ltd | Verfahren und Vorrichtungen zur Bereitstellung eines sicheren Datenbackups von einem mobilen Kommunikationsgerät zu einer externen Berechnungsvorrichtung |
US10430283B1 (en) * | 2015-09-30 | 2019-10-01 | EMC IP Holding Company LLC | Intelligent data dissemination |
CN105516098A (zh) * | 2015-11-30 | 2016-04-20 | 睿峰网云(北京)科技股份有限公司 | 一种网页脚本的识别方法及装置 |
CN106656607A (zh) * | 2016-12-27 | 2017-05-10 | 上海爱数信息技术股份有限公司 | 设备日志解析方法、系统及具有该系统的服务器端 |
CN111666737B (zh) * | 2020-06-04 | 2023-04-25 | 广州博高信息科技有限公司 | 区域图书馆多编码规则兼容处理方法、装置、设备及介质 |
-
2021
- 2021-08-12 CN CN202110923075.7A patent/CN113660250B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113660250A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113660250B (zh) | 基于web应用防火墙的防御方法、装置、系统和电子装置 | |
EP3424178B1 (en) | Deterministic reproduction of client/server computer state or output sent to one or more client computers | |
Krueger et al. | Learning stateful models for network honeypots | |
Vikram et al. | Nomad: Towards non-intrusive moving-target defense against web bots | |
CN113645224B (zh) | 一种网络攻击检测方法、装置、设备及存储介质 | |
CN105450730A (zh) | 一种处理客户端请求的方法和装置 | |
CN101223562A (zh) | 使html浏览器及扩展对已知的易受攻击性免疫 | |
CN102682009A (zh) | 一种用户登录网页的方法及系统 | |
EP2558973A2 (en) | Streaming insertion of tokens into content to protect against csrf | |
CN104618404A (zh) | 防止网络攻击Web服务器的处理方法、装置及系统 | |
CN109862021B (zh) | 威胁情报的获取方法及装置 | |
CN112839083B (zh) | 一种数据传输方法及装置、可读存储介质 | |
US8789177B1 (en) | Method and system for automatically obtaining web page content in the presence of redirects | |
CN105959313A (zh) | 一种防范http代理攻击的方法及装置 | |
CN111881337B (zh) | 一种基于Scrapy框架的数据采集方法、系统及存储介质 | |
CN113645234B (zh) | 基于蜜罐的网络防御方法、系统、介质及装置 | |
CN112926061B (zh) | 插件处理方法及装置 | |
US11128639B2 (en) | Dynamic injection or modification of headers to provide intelligence | |
CN114978637A (zh) | 一种报文处理方法及装置 | |
CN108259416B (zh) | 检测恶意网页的方法及相关设备 | |
CN110177096B (zh) | 客户端认证方法、装置、介质和计算设备 | |
CN117313759A (zh) | 数据安全传输的方法、装置、设备及存储介质 | |
US11095667B2 (en) | Session-based recording of association of activities | |
CN115913589A (zh) | Waf检测方法、装置及存储介质 | |
CN114329459A (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 |