首页 / 专利库 / 电脑安全 / 跨站请求伪造 / 一种Web应用漏洞检测规则引擎实现方法及终端

一种Web应用漏洞检测规则引擎实现方法及终端

阅读:97发布:2020-05-11

专利汇可以提供一种Web应用漏洞检测规则引擎实现方法及终端专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种Web应用漏洞检测 规则引擎 实现方法、装置、终端及存储介质,该方法包括:向Web应用 服务器 发送基于规则语句描述构建的漏洞扫描http 请求 ;接收所述Web 应用服务器 对于所述漏洞扫描http请求的响应结果;基于规则中的漏洞扫描策略信息,对所述响应结果进行匹配得到匹配结果。本发明提供的Web应用漏洞检测规则引擎实现方法、装置、终端及存储介质,降低了漏洞检测 插件 的开发周期。,下面是一种Web应用漏洞检测规则引擎实现方法及终端专利的具体信息内容。

1.一种Web应用漏洞检测规则引擎实现方法,其特征在于,包括:
向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求
接收所述Web应用服务器对于所述漏洞扫描http请求的响应结果;
基于规则中的漏洞扫描策略信息,对所述响应结果进行匹配得到匹配结果。
2.根据权利要求1所述的Web应用漏洞检测规则引擎实现方法,其特征在于,还包括步骤:基于所述匹配结果确定是否构建新的漏洞扫描http请求并发送给所述Web应用服务器。
3.根据权利要求1所述的Web应用漏洞检测规则引擎实现方法,其特征在于,在所述向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求步骤前,还包括步骤:载入指定的规则文件,读取并解析所述规则文件中的语句,生成语法树。
4.根据权利要求1-3任一项所述的Web应用漏洞检测规则引擎实现方法,其特征在于,所述漏洞包括跨站脚本、sql注入、表达式注入、代码执行、命令执行、文件包含、文件上传、弱口令漏洞、反序列化漏洞、解析漏洞、跨域请求伪造、重定向漏洞、逻辑漏洞和信息泄露类漏洞。
5.一种Web应用漏洞检测规则引擎实现装置,其特征在于,包括:
请求模,用于向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求;
接收模块,用于接收所述Web应用服务器对于所述漏洞扫描http请求的响应结果;
匹配模块,用于基于规则中的漏洞扫描策略信息,对所述响应结果进行匹配得到匹配结果。
6.根据权利要求5所述的Web应用漏洞检测规则引擎实现装置,其特征在于,还包括确定模块,用于基于所述匹配结果确定是否构建新的漏洞扫描http请求并发送给所述Web应用服务器。
7.根据权利要求5所述的Web应用漏洞检测规则引擎实现装置,其特征在于,还包括:载入和解析模块,用于载入指定的规则文件,读取并解析所述规则文件中的语句,生成语法树。
8.一种终端,其特征在于,包括:一个或多个处理器、一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行如权利要求1-4任一项所述的Web应用漏洞检测规则引擎实现方法。
9.一种计算机存储介质,其特征在于,其上存储计算机指令,当所述计算机指令在终端上运行时,使得所述终端执行如权利要求1-4任一项所述的Web应用漏洞检测规则引擎实现方法。

说明书全文

一种Web应用漏洞检测规则引擎实现方法及终端

技术领域

[0001] 本发明涉及Web应用漏洞检测规则引擎技术领域,特别涉及一种Web应用漏洞检测规则引擎实现方法、装置、终端及存储介质。

背景技术

[0002] 传统漏洞检测系统都是插件式的,安全开发人员需要根据统一输入输出要求,基于某种编程语言,编写漏洞检测插件,才能被系统加载运行起来,从而实现漏洞检测功能。
[0003] 漏洞检测插件的开发过程,也是一种软件的开发过程,需要经历一般软件开发周期都要经历的编码、联调、测试、部署、上线等步骤。同时,还会面临一般软件开发流程中所出现的问题,例如,参差不齐的代码质量,无法避免的bug,比开发周期还要漫长的收敛周期,额外引入的代码安全问题以及代码维护的成本。
[0004] 另外,开发人员除了要考虑如何实现漏洞检测逻辑之外,还要额外考虑与漏洞检测逻辑没有关系的流程性、接口性代码的编写,因此无法将精聚焦在漏洞检测逻辑的实现上,因此,随着漏洞数量越来越多,相应的需要开发的漏洞检测插件的数量越来越多,传统检测插件的弊端愈加明显。

发明内容

[0005] 本发明提供一种Web应用漏洞检测规则引擎实现方法、装置、终端及存储介质,降低了漏洞检测插件的开发周期。
[0006] 第一方面,本申请实施例提供了一种Web应用漏洞检测规则引擎实现方法,包括:
[0007] 向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求
[0008] 接收所述Web应用服务器对于所述漏洞扫描http请求的响应结果;
[0009] 基于规则中的漏洞扫描策略信息,对所述响应结果进行匹配得到匹配结果。
[0010] 优选地,还包括步骤:基于所述匹配结果确定是否构建新的漏洞扫描http请求并发送给所述Web应用服务器。
[0011] 优选地,在所述向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求步骤前,还包括步骤:载入指定的规则文件,读取并解析所述规则文件中的语句,生成语法树。
[0012] 优选地,所述漏洞包括跨站脚本、sql注入、表达式注入、代码执行、命令执行、文件包含、文件上传、弱口令漏洞、反序列化漏洞、解析漏洞、跨域请求伪造、重定向漏洞、逻辑漏洞和信息泄露类漏洞。
[0013] 第二方面,本申请实施例提供了一种Web应用漏洞检测规则引擎实现装置,包括:
[0014] 请求模,用于向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求;
[0015] 接收模块,用于接收所述Web应用服务器对于所述漏洞扫描http请求的响应结果;
[0016] 匹配模块,用于基于规则中的漏洞扫描策略信息,对所述响应结果进行匹配得到匹配结果。
[0017] 优选地,还包括确定模块,用于基于所述匹配结果确定是否构建新的漏洞扫描http请求并发送给所述Web应用服务器。
[0018] 优选地,还包括:载入和解析模块,用于载入指定的规则文件,读取并解析所述规则文件中的语句,生成语法树。
[0019] 第三方面,本申请实施例提供了一种终端,包括:一个或多个处理器、一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行上述的Web应用漏洞检测规则引擎实现方法。
[0020] 第四方面,本申请实施例提供了计算机存储介质,其上存储计算机指令,当所述计算机指令在终端上运行时,使得所述终端执行上述的Web应用漏洞检测规则引擎实现方法。
[0021] 采用上述技术方案,由于向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求;基于规则中的漏洞扫描策略信息,对Web应用服务器返回的响应结果进行匹配得到匹配结果。规则引擎使得漏洞检测插件的开发和运行,避免了直接使用编程语言,与检测逻辑无关的过程性代码和接口性代码,都被封装到规则引擎,供所有检测规则复用,而开发人员只需要关注漏洞检测payload的构建和匹配规则的构建。从而,降低了漏洞检测插件的开发槛,降低了漏洞检测插件的开发周期,提升了漏洞检测插件的开发质量,减少了漏洞检测插件的维护成本。附图说明
[0022] 图1为本发明实施例提供的Web应用漏洞检测规则引擎实现方法的流程图
[0023] 图2为本发明实施例提供的Web应用漏洞检测规则引擎实现装置的结构框图
[0024] 图3为本发明实施例提供的Web应用漏洞检测规则引擎实现装置的另一结构框图。

具体实施方式

[0025] 下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
[0026] 其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
[0027] 以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0028] 规则引擎是一套可以运行很多规则模板(简称模板)的引擎系统,被用来运行不同行业不同规则和逻辑的。不必对每个行业重新开发规则系统,只开发发生变化的模板部分即可,缩短了对不同规则的定制化开发时间,提高了实施效率。
[0029] 第一方面,如图1所示,本申请实施例提供了一种Web应用漏洞检测规则引擎实现方法,包括:
[0030] 步骤S101、向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求;
[0031] 步骤S102、接收该Web应用服务器对于该漏洞扫描http请求的响应结果;
[0032] 步骤S103、基于规则中的漏洞扫描策略信息,对该响应结果进行匹配得到匹配结果。
[0033] 采用上述技术方案,由于向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求;基于规则中的漏洞扫描策略信息,对Web应用服务器返回的响应结果进行匹配得到匹配结果。规则引擎使得漏洞检测插件的开发和运行,避免了直接使用编程语言,与检测逻辑无关的过程性代码和接口性代码,都被封装到规则引擎,供所有检测规则复用,而开发人员只需要关注漏洞检测payload的构建和匹配规则的构建。从而,降低了漏洞检测插件的开发门槛,降低了漏洞检测插件的开发周期,提升了漏洞检测插件的开发质量,减少了漏洞检测插件的维护成本。
[0034] 该方案基于规则语法,将模型中请求的构建和响应的匹配进行规则化,可以有效的描述请求如何构建,响应如何匹配。这些规则语法描述了如何检测一个漏洞,也就形成了一个检测规则。
[0035] 比如,规则引擎对某一条规则进行解析,构建含有漏洞验证载荷的http请求,然后向目标Web应用服务器发送该http请求,目标Web应用服务器收到http请求后进行处理,并返回响应内容,规则引擎基于规则描述的特征或模式,与目标Web应用服务器返回的响应内容进行匹配,如果匹配成功,则说明有漏洞,如果没有,可以根据下一条规则,再次构建漏洞扫描请求,发送给Web应用服务器。
[0036] 优选地,还包括步骤:基于该匹配结果确定是否构建新的漏洞扫描http请求并发送给该Web应用服务器。
[0037] 该规则引擎实现方法根据http响应的匹配结果以及规则描述,来决定是否再次构造请求并发送,如此反复迭代。最终根据响应的匹配结果和反复迭代,产出最终的结果即漏洞扫描结果。
[0038] 优选地,在步骤S101:向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求前,还包括步骤:载入指定的规则文件,读取并解析该规则文件中的语句,生成语法树。对应的,基于该解析的规则语句,构建漏洞扫描http请求。
[0039] 优选地,该漏洞包括跨站脚本、sql注入、表达式注入、代码执行、命令执行、文件包含、文件上传、弱口令漏洞、反序列化漏洞、解析漏洞、跨域请求伪造、重定向漏洞、逻辑漏洞和信息泄露类漏洞。
[0040] 该Web应用漏洞检测规则引擎实现方法适用于各种Web应用漏洞包括不限于跨站脚本、sql注入、表达式注入、代码执行、命令执行、文件包含、文件上传、弱口令漏洞、反序列化漏洞、解析漏洞、跨域请求伪造、重定向漏洞以及逻辑漏洞和信息泄露类漏洞。
[0041] 第二方面,如图2所示,本申请实施例提供了一种Web应用漏洞检测规则引擎实现装置,包括:
[0042] 请求模块21,用于向Web应用服务器发送基于规则语句描述构建的漏洞扫描http请求;
[0043] 接收模块22,用于接收该Web应用服务器对于该漏洞扫描http请求的响应结果;
[0044] 匹配模块23,用于基于规则中的漏洞扫描策略信息,对该响应结果进行匹配得到匹配结果。
[0045] 优选地,如图3所示,还包括确定模块24,用于基于该匹配结果确定是否构建新的漏洞扫描http请求并发送给该Web应用服务器。
[0046] 优选地,如图3所示,还包括:载入和解析模块25,用于载入指定的规则文件,读取并解析该规则文件中的语句,生成语法树。
[0047] 第三方面,本申请实施例提供了一种终端,包括:一个或多个处理器、一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述终端执行如上述的Web应用漏洞检测规则引擎实现方法。
[0048] 上述存储器可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
[0049] 其中,存储器用于存储执行本申请方案的应用程序代码,并由处理器来控制执行。处理器用于执行存储器中存储的应用程序代码,从而实现本专利方法中的功能。
[0050] 在具体实现中,作为一种实施例,处理器可以包括一个或多个CPU。
[0051] 在具体实现中,作为一种实施例,该终端可以包括多个处理器。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0052] 第四方面,本申请实施例提供了计算机存储介质,其上存储计算机指令,当所述计算机指令在终端上运行时,使得所述终端执行如上述的Web应用漏洞检测规则引擎实现方法。
[0053] 以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈