System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于模糊测试的web安全漏洞检测方法及系统技术方案_技高网

一种基于模糊测试的web安全漏洞检测方法及系统技术方案

技术编号:40502044 阅读:9 留言:0更新日期:2024-02-26 19:29
本发明专利技术公开了一种基于模糊测试的web安全漏洞检测方法及系统,包括请求构造模块,执行模块,漏洞判别模块和监测模块,请求构造模块获取web页面传输的报文并构造并向对Web服务器发送HTTP请求;执行模块捕获HTTP请求并解析,标记出请求参数对应的输入点并发送给漏洞判别模块;漏洞判别模块判断请求数据是否存在漏洞,若存在漏洞,则根据漏洞类型采用链式变异策略生成模糊测试用例并发送给Web服务器;监测模块监控web服务器对模糊测试用例的响应,监测模糊测试用例中变异数据的漏洞触发情况。本发明专利技术实现fuzz测试突变的精准性,减少监控漏洞结果的误报,提高模糊测试的效率和准确度。

【技术实现步骤摘要】

本专利技术涉及信息安全,具体的说,是一种基于模糊测试的web安全漏洞检测方法及系统


技术介绍

1、模糊测试是当前用于发现安全漏洞的有效手段,使用自动或半自动测试技术通过向系统输入称为fuzz的无效或随机数据来发现操作系统或网络中的编码错误和安全漏洞。之后,系统会监视各种异常,例如系统崩溃或内置代码失败,来判断fuzz测试结果。因此测试用例的质量会影响模糊测试的效率和效果。而在现有技术中生成的测试用例质量较低,触发安全漏洞的概率较低,甚至生成无效的测试用例而造成资源浪费。


技术实现思路

1、本专利技术的目的在于提供一种基于模糊测试的web安全漏洞检测方法及系统,用于解决现有技术中模糊测试中生成的测试用例质量较低,触发安全漏洞的概率较低,甚至生成无效的测试用例而造成资源浪费的问题。

2、本专利技术通过下述技术方案解决上述问题:

3、一种基于模糊测试的web安全漏洞检测系统,包括请求构造模块,执行模块,漏洞判别模块和监测模块,其中:

4、请求构造模块,用于获取web页面传输的报文并构造对web服务器有效的请求,并通过web页面向web服务器发送http请求;

5、执行模块,用于捕获所述http请求,将捕获到的http请求进行解析,标记出请求参数对应的输入点并发送给漏洞判别模块;

6、漏洞判别模块,用于接收漏洞判别模块发出的请求参数对应的输入点,判断请求数据是否存在漏洞,如果判断出存在漏洞,则根据漏洞类型,采用链式变异策略生成模糊测试用例并将模糊测试用例发送给web服务器;

7、监测模块,用于监控web服务器对模糊测试用例的响应,监测模糊测试用例中变异数据的漏洞触发情况,如果漏洞被触发则确定漏洞存在并输出相关漏洞信息和请求信息。

8、本专利技术先判断漏洞及漏洞类型,再根据漏洞类型对漏洞类型进行变异,进行变异模糊测试,实现fuzz测试突变的精准性,同时减少监控漏洞结果的误报,能够有效提高模糊测试的效率和效果,保证安全漏洞检测的效率和准确度。

9、进一步地,所述执行模块包括捕获器和探测引擎,所述捕获器用于捕获web页面与web服务器之间的http请求,并发送给探测引擎,探测引擎将捕获到的http请求进行解析,标记出请求参数对应的输入点并发送给漏洞判别模块。

10、进一步地,所述漏洞判别模块包括漏洞判别单元和模糊测试器,所述漏洞判别单元用于接收漏洞判别模块发出的请求参数对应的输入点,判断请求数据是否存在漏洞以及漏洞类型;所述模糊测试器用于根据漏洞判别单元检测出的漏洞类型,采用对应的链式变异策略生成模糊测试用例并发送给web服务器。

11、进一步地,所述漏洞判别单元的漏洞判别方法为:将输入点的字符串划分为多个子字符串,每个子字符串代表一个参数或者输入域;对每个子字符串进行判别,是否存在增加、删除和替换操作,具体方法为:在同一个输入点构造两个相似的输入a1和a2,其中a2是将a1中指定数量的字符进行随机修改得到,对比两个参数值处的输入a1和a2对应的进入到污点处的值b1和b2是否相同,如果相同则判定不存在漏洞;如果不相同,即判定存在漏洞。

12、通过上述漏洞判别方法,对输入源的字符串和污点处的字符串进行判别,充分挖掘过滤处理之后字符串的改变状态,实现对漏洞是否可能存在进行精准判断,不仅能够减少造成漏报的概率,还能够提升模糊测试的效率。

13、进一步地,采用对应的链式变异策略生成模糊测试用例的方法包括:先将所有的操作类型按照不同组合方式进行组合,构成一系列变异操作的组合,从而完成对初始漏洞载荷的变异,得到初步的模糊测试用例;在该初步的模糊测试用例的基础上进一步剔除掉无效的变异组合,生成最终的模糊测试用例。

14、一种基于模糊测试的web安全漏洞检测方法,包括:

15、步骤s1、获取web页面传输数据过程中的报文,构造出对web服务器的有效的请求,并通过web页面向web服务器发送http请求;

16、步骤s2、使用捕获器来捕获http请求,并发送给探测引擎,探测引擎将捕获到的http请求进行解析,标记出请求数据包中的请求参数对应的输入点;

17、步骤s3、根据收到的请求参数对应的输入点,判断请求数据是否存在漏洞,如果判断出可能存在漏洞,则将请求数据发送到模糊测试器;

18、步骤s4、模糊测试器根据当前检测出的漏洞类型,采用对应的链式变异策略生成模糊测试用例,并将生成的模糊测试用例发送给web服务器;

19、步骤s5、监控web服务器对模糊测试用例的响应,监测模糊测试用例中变异数据的漏洞触发情况,如果漏洞被触发则确定漏洞存在并输出相关漏洞信息和请求信息。

20、本专利技术与现有技术相比,具有以下优点及有益效果:

21、本专利技术根据漏洞类型对漏洞类型进行变异,进行变异模糊测试,实现fuzz测试突变的精准性,同时减少监控漏洞结果的误报,能够提高模糊测试的效率和效果,保证安全漏洞检测的效率和准确度。

本文档来自技高网...

【技术保护点】

1.一种基于模糊测试的web安全漏洞检测系统,其特征在于,包括请求构造模块,执行模块,漏洞判别模块和监测模块,其中:

2.根据权利要求1所述的一种基于模糊测试的web安全漏洞检测系统,其特征在于,所述执行模块包括捕获器和探测引擎,所述捕获器用于捕获web页面与web服务器之间的HTTP请求,并发送给探测引擎,探测引擎将捕获到的HTTP请求进行解析,标记出请求参数对应的输入点并发送给漏洞判别模块。

3.根据权利要求2所述的一种基于模糊测试的web安全漏洞检测系统,其特征在于,所述漏洞判别模块包括漏洞判别单元和模糊测试器,所述漏洞判别单元用于接收漏洞判别模块发出的请求参数对应的输入点,判断请求数据是否存在漏洞以及漏洞类型;所述模糊测试器用于根据漏洞判别单元检测出的漏洞类型,采用对应的链式变异策略生成模糊测试用例并发送给web服务器。

4.根据权利要求3所述的一种基于模糊测试的web安全漏洞检测系统,其特征在于,所述漏洞判别单元的漏洞判别方法为:将输入点的字符串划分为多个子字符串,每个子字符串代表一个参数或者输入域;对每个子字符串进行判别,是否存在增加、删除和替换操作,具体方法为:在同一个输入点构造两个相似的输入A1和A2,其中A2是将A1中指定数量的字符进行随机修改得到,对比两个参数值处的输入A1和A2对应的进入到污点处的值B1和B2是否相同,如果相同则判定不存在漏洞;如果不相同,即判定存在漏洞。

5.根据权利要求3所述的一种基于模糊测试的web安全漏洞检测系统,其特征在于,采用对应的链式变异策略生成模糊测试用例的方法包括:先将所有的操作类型按照不同组合方式进行组合,构成一系列变异操作的组合,从而完成对初始漏洞载荷的变异,得到初步的模糊测试用例;在该初步的模糊测试用例的基础上进一步剔除掉无效的变异组合,生成最终的模糊测试用例。

6.一种基于模糊测试的web安全漏洞检测方法,其特征在于,包括:

...

【技术特征摘要】

1.一种基于模糊测试的web安全漏洞检测系统,其特征在于,包括请求构造模块,执行模块,漏洞判别模块和监测模块,其中:

2.根据权利要求1所述的一种基于模糊测试的web安全漏洞检测系统,其特征在于,所述执行模块包括捕获器和探测引擎,所述捕获器用于捕获web页面与web服务器之间的http请求,并发送给探测引擎,探测引擎将捕获到的http请求进行解析,标记出请求参数对应的输入点并发送给漏洞判别模块。

3.根据权利要求2所述的一种基于模糊测试的web安全漏洞检测系统,其特征在于,所述漏洞判别模块包括漏洞判别单元和模糊测试器,所述漏洞判别单元用于接收漏洞判别模块发出的请求参数对应的输入点,判断请求数据是否存在漏洞以及漏洞类型;所述模糊测试器用于根据漏洞判别单元检测出的漏洞类型,采用对应的链式变异策略生成模糊测试用例并发送给web服务器。

4.根据权利要求3所述的一种基于模糊测试的web安全漏洞检测系...

【专利技术属性】
技术研发人员:张亚丽
申请(专利权)人:四川启睿克科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1