突破Web防护的漏洞扫描方法及装置与流程

文档序号:12949219阅读:232来源:国知局
突破Web防护的漏洞扫描方法及装置与流程

本发明涉及信息安全的技术领域,尤其是涉及一种突破web防护的漏洞扫描方法及装置。



背景技术:

随着信息技术的发展,基于b/s架构的web应用系统已经逐渐成为主流,特别是电子政务、电子商务和金融、互联网等企业,将线下业务都搬上了线上网络,成熟的漏洞扫描产品也在不断升级,漏洞扫描产品通过爬虫的方式获取web应用的url页面,发送漏洞探测攻击请求包,然后web应用在接收和解释请求消息后,服务器返回一个http响应消息,http响应消息里包含三个部分,分别是:状态行、消息报头、响应正文。如果状态行的代码返回200(http响应状态码,表示客户端请求成功),说明该请求资源存在,那么漏洞扫描产品就返回漏洞存在的处理。但是关于web安全漏洞的安全事件仍然层出不穷,漏洞扫描产品误报难以避免无法扫描出真实存在的漏洞,主要原因在于:目前很多的web应用防火墙产品(webapplicationfirewall,简称waf)都将攻击探测行为统一返回200状态码来迷惑漏洞扫描产品,使得漏洞扫描产品无法真正判断漏洞是否真实存在而产生误报。另外,大部分程序员已经非常了解web漏洞扫描原理,考虑部分漏洞可能容易被恶意人员或扫描产品发现,在程序上线之前或做安全加固时已经做过自定义404(http响应状态码,表示请求资源不存在)页面,任何存在和不存在的页面都返回200状态码,从而导致漏洞扫描产品误报。

综上,传统的漏洞扫描方法中,漏洞扫描的准确性差。



技术实现要素:

有鉴于此,本发明的目的在于提供一种突破web防护的漏洞扫描方法及装置,以缓解传统的漏洞扫描方法中,漏洞扫描的准确性差的技术问题。

第一方面,本发明实施例提供了一种突破web防护的漏洞扫描方法,所述方法包括:

根据用户的触发操作向目标网页发送漏洞探测请求,其中,所述漏洞探测请求中包含所述目标网页的url链接和附加测试数据;

接收所述目标网页根据所述漏洞探测请求返回的响应消息,其中,所述响应消息包含:所述响应消息的头信息,所述响应消息的内容信息;

将所述响应消息中的内容信息与字典文件中的信息进行对比,其中,所述字典文件中包含网页防火墙的关键特征;

如果所述响应消息中的内容信息与所述字典文件中的信息相同,则确定所述目标网页不存在漏洞,且所述目标网页已被所述网页防火墙拦截。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,将所述响应消息中的内容信息与字典文件中的信息进行对比,所述方法还包括:

如果所述响应消息中的内容信息与所述字典文件中的信息不相同,则自动构建url链接,其中,所述url链接所对应的网页为不存在的网页,且所述url链接的数量为多个;

通过所述url链接判断所述目标网页是否存在漏洞。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,通过所述url链接判断所述目标网页是否存在漏洞包括:

基于所述url链接向所述目标网页发送多个访问请求,其中,所述多个访问请求的数量与所述url链接的数量相同;

接收所述目标网页根据所述多个访问请求返回的多个访问响应消息;

如果所述多个访问响应消息的响应状态码均为200,且所述多个访问响应消息中的内容信息相同,同时所述多个访问响应消息中的内容信息与所述响应消息中的内容信息相同,则确定所述目标网页不存在漏洞,且所述目标网页已自定义错误页面;

如果所述多个访问响应消息的响应状态码均为404,则确定所述目标网页不存在漏洞。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:

如果所述多个访问响应消息的响应状态码均为200,且所述多个访问响应消息中的内容信息相同,同时所述多个访问响应消息中的内容信息与所述响应消息中的内容信息不相同,则确定所述目标网页存在漏洞。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,在根据用户的触发操作向目标网页发送漏洞探测请求之前,所述方法还包括:

接收开发者收集的待攻击网页,其中,所述待攻击网页被所述网页防火墙防护;

向所述待攻击网页发送攻击请求;

基于所述攻击请求接收所述网页防火墙拦截攻击响应消息的拦截信息;

将所述拦截信息中的所述网页防火墙的关键特征作为所述字典文件中的信息。

第二方面,本发明实施例还提供了一种突破web防护的漏洞扫描装置,所述装置包括:

第一发送模块,用于根据用户的触发操作向目标网页发送漏洞探测请求,其中,所述漏洞探测请求中包含所述目标网页的url链接和附加测试数据;

第一接收模块,用于接收所述目标网页根据所述漏洞探测请求返回的响应消息,其中,所述响应消息包含:所述响应消息的头信息,所述响应消息的内容信息;

对比模块,用于将所述响应消息中的内容信息与字典文件中的信息进行对比,其中,所述字典文件中包含网页防火墙的关键特征;

确定模块,如果所述响应消息中的内容信息与所述字典文件中的信息相同,则确定所述目标网页不存在漏洞,且所述目标网页已被所述网页防火墙拦截。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述装置还包括:

自动构建模块,如果所述响应消息中的内容信息与所述字典文件中的信息不相同,则自动构建url链接,其中,所述url链接所对应的网页为不存在的网页,且所述url链接的数量为多个;

判断模块,用于通过所述url链接判断所述目标网页是否存在漏洞。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述判断模块包括:

发送单元,基于所述url链接向所述目标网页发送多个访问请求,其中,所述多个访问请求的数量与所述url链接的数量相同;

接收单元,用于接收所述目标网页根据所述多个访问请求返回的多个访问响应消息;

第一确定单元,如果所述多个访问响应消息的响应状态码均为200,且所述多个访问响应消息中的内容信息相同,同时所述多个访问响应消息中的内容信息与所述响应消息中的内容信息相同,则确定所述目标网页不存在漏洞,且所述目标网页已自定义错误页面;

第二确定单元,如果所述多个访问响应消息的响应状态码均为404,则确定所述目标网页不存在漏洞。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述判断模块还包括:

第三确定单元,如果所述多个访问响应消息的响应状态码均为200,且所述多个访问响应消息中的内容信息相同,同时所述多个访问响应消息中的内容信息与所述响应消息中的内容信息不相同,则确定所述目标网页存在漏洞。

结合第二方面,本发明实施例提供了第二方面的第四种可能的实施方式,其中,在根据用户的触发操作向目标网页发送漏洞探测请求之前,所述装置还包括:

第二接收模块,用于接收开发者收集的待攻击网页,其中,所述待攻击网页被所述网页防火墙防护;

第二发送模块,用于向所述待攻击网页发送攻击请求;

第三接收模块,基于所述攻击请求接收所述网页防火墙拦截攻击响应消息的拦截信息;

设定模块,用于将所述拦截信息中的所述网页防火墙的关键特征作为所述字典文件中的信息。

本发明实施例带来了以下有益效果:本发明实施例提供了一种突破web防护的漏洞扫描方法及装置,该方法包括:根据用户的触发操作向目标网页发送漏洞探测请求,其中,漏洞探测请求中包含目标网页的url链接和附加测试数据;接收目标网页根据漏洞探测请求返回的响应消息,其中,响应消息包含:响应消息的头信息,响应消息的内容信息;将响应消息中的内容信息与字典文件中的信息进行对比,其中,字典文件中包含网页防火墙的关键特征;如果响应消息中的内容信息与字典文件中的信息相同,则确定目标网页不存在漏洞,且目标网页已被网页防火墙拦截。

传统的漏洞扫描方法无法应对网页防火墙对网页的防护,在判断漏洞是否真实存在时,往往会产生误报的现象,漏洞扫描的准确性差。与传统的漏洞扫描方法相比,在本发明的突破web防护的漏洞扫描方法中,先向目标网页发送漏洞探测请求,然后,接收目标网页根据漏洞探测请求返回的响应消息,进而,将响应消息中的内容信息与包含网页防火墙关键特征的字典文件中的信息进行对比,如果响应消息中的内容信息与字典文件中的信息相同,那么,确定目标网页不存在漏洞,且目标网页已被网页防火墙拦截。本发明的漏洞扫描方法中,通过将响应消息中的内容信息与包含网页防火墙的关键特征字典文件中的信息进行对比,进而,根据对比结果确定目标网页是否存在漏洞,字典文件的引入使得漏洞扫描的准确性提高,确定出的漏洞结果更加可信,缓解了传统的漏洞扫描方法中,漏洞扫描的准确性差的技术问题。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种突破web防护的漏洞扫描方法的流程图;

图2为本发明实施例提供的获取字典文件的流程图;

图3为本发明实施例提供的通过url链接判断目标网页是否存在漏洞的流程图;

图4为本发明实施例提供的一种突破web防护的漏洞扫描装置的结构示意图。

图标:

11-第一发送模块;12-第一接收模块;13-对比模块;14-确定模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种突破web防护的漏洞扫描方法进行详细介绍。

实施例一:

一种突破web防护的漏洞扫描方法,参考图1,该方法包括:

s101、根据用户的触发操作向目标网页发送漏洞探测请求,其中,漏洞探测请求中包含目标网页的url链接和附加测试数据;

在本发明实施例中,突破web防护的漏洞扫描方法具体为漏洞扫描系统所执行的扫描方法,该漏洞扫描系统可以以软件的形式(像qq客户端一样)安装在用户终端上,从而在用户终端上运行,也可以像webqq一样,安装在服务器上,从而在服务器上运行,本发明实施例对其不做具体限制。下面以软件形式的漏洞扫描系统为例进行说明:用户在自身的电脑上安装该漏洞扫描软件,安装完成后,新建扫描任务,然后在新建的扫描任务中输入目标网页的域名,该漏洞扫描软件便会对目标网页按照上述方法自动执行漏洞扫描的过程。

具体的,用户的触发操作是指用户输入目标网页的域名操作。用户输入目标网页的域名后,漏洞扫描软件便向目标网页发送漏洞探测请求,其中,本发明实施例中的漏洞探测请求具体为http协议的漏洞探测请求包,但本发明实施例对其不做具体限制,也可以为其它协议的漏洞探测请求。

而漏洞探测请求中包含有目标网页的url链接和附加测试数据,该附加测试数据为恶意的数据。

例如,当访问该http://aaaa.bbbb/product/detail/?id=2目标网页的url链接时,就是一个没有攻击特征的正常网页,如果在该链接后添加上该"><iframesrc=//baidu.com>附加测试数据后,就会得到对应的漏洞探测请求http://aaaa.bbbb/product/detail/?id=2"><iframesrc=//baidu.com>。

s102、接收目标网页根据漏洞探测请求返回的响应消息,其中,响应消息包含:响应消息的头信息,响应消息的内容信息;

在向目标网页发送漏洞探测请求后,目标网页会根据漏洞探测请求返回响应消息,具体的,本发明实施例中的响应消息为http协议的响应消息,本发明实施例对其不做具体限制。

具体的,响应消息中包含:响应消息的头信息,响应消息的内容信息,响应消息的头信息中包含有响应状态码。

s103、将响应消息中的内容信息与字典文件中的信息进行对比,其中,字典文件中包含网页防火墙的关键特征;

在得到响应消息后,将响应消息中的内容信息与包含网页防火墙的关键特征的字典文件中的信息进行对比。

比如:百度云加速的网页防火墙的关键特征为yjs-footer、云加速eventid等。

s104、如果响应消息中的内容信息与字典文件中的信息相同,则确定目标网页不存在漏洞,且目标网页已被网页防火墙拦截。

对比完成后,如果对比结果为响应消息中的内容信息与字典文件中的信息相同,则确定目标网页不存在漏洞,并且目标网页已被网页防火墙拦截。

需要说明的是,上述过程为漏洞扫描系统执行的。

传统的漏洞扫描方法无法应对网页防火墙对网页的防护,在判断漏洞是否真实存在时,往往会产生误报的现象,漏洞扫描的准确性差。与传统的漏洞扫描方法相比,在本发明的突破web防护的漏洞扫描方法中,先向目标网页发送漏洞探测请求,然后,接收目标网页根据漏洞探测请求返回的响应消息,进而,将响应消息中的内容信息与包含网页防火墙关键特征的字典文件中的信息进行对比,如果响应消息中的内容信息与字典文件中的信息相同,那么,确定目标网页不存在漏洞,且目标网页已被网页防火墙拦截。本发明的漏洞扫描方法中,通过将响应消息中的内容信息与包含网页防火墙的关键特征字典文件中的信息进行对比,进而,根据对比结果确定目标网页是否存在漏洞,字典文件的引入使得漏洞扫描的准确性提高,确定出的漏洞结果更加可信,缓解了传统的漏洞扫描方法中,漏洞扫描的准确性差的技术问题。

在本发明实施例中,在根据用户的触发操作向目标网页发送漏洞探测请求之前,开发者先要整理常见的网页防火墙拦截响应消息而得到的字典文件。

可选地,参考图2,获取字典文件的过程包括:

s201、接收开发者收集的待攻击网页,其中,待攻击网页被网页防火墙防护;

具体的,开发者先要收集被网页防火墙防护的待攻击网页。待攻击网页的数量为多个,该多个待攻击网页分别被不同的网页防火墙防护。

s202、向待攻击网页发送攻击请求;

在收集到多个待攻击的网页后,分别向每个待攻击网页发送攻击请求。

s203、基于攻击请求接收网页防火墙拦截攻击响应消息的拦截信息;

在发送攻击请求后,对应的待攻击网页会根据攻击请求返回攻击响应消息,因为网页防火墙的存在,能够拦截该攻击响应消息,得到相应的拦截信息。

s204、将拦截信息中的网页防火墙的关键特征作为字典文件中的信息。

在得到拦截信息后,将拦截信息中的网页防火墙的关键特征作为字典文件中的信息。比如:对于百度云加速的网页防火墙来说,拦截信息中有百度云加速的网页防火墙的关键特征(例如,yjs-footer、云加速eventid等)。在此,只是以一种网页防火墙为例进行说明,本发明实施例中收集多种常见的网页防火墙的关键特征作为字典文件中的信息。

需要说明的是,实际上,步骤s201至步骤s204是在进行软件开发时,第一次获取字典文件的过程,在得到字典文件后,开发者再将字典文件中的信息写入到漏洞扫描系统中,这样,漏洞扫描系统中就自带有了字典文件中的信息。

在本发明实施例中,在得到根据漏洞探测请求返回的响应消息后,漏洞扫描系统就能够将该响应消息与自带的字典文件中的信息进行对比。在一个可选的实施方式中,将响应消息中的内容信息与字典文件中的信息进行对比,包括:

如果响应消息中的内容信息与字典文件中的信息不相同,则自动构建url链接,其中,url链接所对应的网页为不存在的网页,且url链接的数量为多个;

具体的,如果响应消息中的内容信息与字典文件中的信息不相同,那么该漏洞扫描系统会自动构建至少两个url链接,其中,构建的至少两个url链接所对应的网页不存在。

通过url链接判断目标网页是否存在漏洞。

在构造好url链接后,就能够通过url链接判断目标网页是否存在漏洞。

在一个可选地实施方式中,参考图3,通过url链接判断目标网页是否存在漏洞的具体过程描述如下:

s301、基于url链接向目标网页发送多个访问请求,其中,多个访问请求的数量与url链接的数量相同;

因为url链接的数量为多个,所以基于该url链接向目标网页发送多个访问请求。

s302、接收目标网页根据多个访问请求返回的多个访问响应消息;

在发送多个访问请求后,接收目标网页根据多个访问请求返回的多个访问响应消息。

s303、如果多个访问响应消息的响应状态码均为200,且多个访问响应消息中的内容信息相同,同时多个访问响应消息中的内容信息与响应消息中的内容信息相同,则确定目标网页不存在漏洞,且目标网页已自定义错误页面;

在得到多个访问响应消息后,如果多个访问响应消息的响应状态码均为200(表示请求成功,该请求资源存在),并且该多个访问响应消息中的内容信息相同,同时多个访问响应消息中的内容信息与步骤s102中的响应消息中的内容信息相同,则判断出目标网页不存在漏洞,且目标网页已自定义错误页面,其中,在本发明实施例中,自定义错误页面具体为自定义404页面,本发明实施例对其不做具体限制。

s304、如果多个访问响应消息的响应状态码均为404,则确定目标网页不存在漏洞。

可选地,在接收目标网页根据多个访问请求返回的多个访问响应消息之后,该方法还包括:

s305、如果多个访问响应消息的响应状态码均为200,且多个访问响应消息中的内容信息相同,同时多个访问响应消息中的内容信息与响应消息中的内容信息不相同,则确定目标网页存在漏洞。

在得到多个访问响应消息后,如果多个访问响应消息的响应状态码均为200(表示请求成功,该请求资源存在),并且该多个访问响应消息中的内容信息相同,但是多个访问响应消息中的内容信息与步骤s102中的响应消息中的内容信息不相同,则判断出目标网页存在漏洞。

实施例二:

本发明实施例还提供了一种突破web防护的漏洞扫描装置,参考图4,该装置包括:

第一发送模块11,用于根据用户的触发操作向目标网页发送漏洞探测请求,其中,漏洞探测请求中包含目标网页的url链接和附加测试数据;

第一接收模块12,用于接收目标网页根据漏洞探测请求返回的响应消息,其中,响应消息包含:响应消息的头信息,响应消息的内容信息;

对比模块13,用于将响应消息中的内容信息与字典文件中的信息进行对比,其中,字典文件中包含网页防火墙的关键特征;

确定模块14,如果响应消息中的内容信息与字典文件中的信息相同,则确定目标网页不存在漏洞,且目标网页已被网页防火墙拦截。

在本发明的突破web防护的漏洞扫描装置中,先向目标网页发送漏洞探测请求,然后,接收目标网页根据漏洞探测请求返回的响应消息,进而,将响应消息中的内容信息与包含网页防火墙关键特征的字典文件中的信息进行对比,如果响应消息中的内容信息与字典文件中的信息相同,那么,确定目标网页不存在漏洞,且目标网页已被网页防火墙拦截。本发明的漏洞扫描装置中,通过将响应消息中的内容信息与包含网页防火墙的关键特征字典文件中的信息进行对比,进而,根据对比结果确定目标网页是否存在漏洞,字典文件的引入使得漏洞扫描的准确性提高,确定出的漏洞结果更加可信,缓解了传统的漏洞扫描方法中,漏洞扫描的准确性差的技术问题。

可选地,该装置还包括:

自动构建模块,如果响应消息中的内容信息与字典文件中的信息不相同,则自动构建url链接,其中,url链接所对应的网页为不存在的网页,且url链接的数量为多个;

判断模块,用于通过url链接判断目标网页是否存在漏洞。

可选地,判断模块包括:

发送单元,基于url链接向目标网页发送多个访问请求,其中,多个访问请求的数量与url链接的数量相同;

接收单元,用于接收目标网页根据多个访问请求返回的多个访问响应消息;

第一确定单元,如果多个访问响应消息的响应状态码均为200,且多个访问响应消息中的内容信息相同,同时多个访问响应消息中的内容信息与响应消息中的内容信息相同,则确定目标网页不存在漏洞,且目标网页已自定义错误页面;

第二确定单元,如果多个访问响应消息的响应状态码均为404,则确定目标网页不存在漏洞。

可选地,判断模块还包括:

第三确定单元,如果多个访问响应消息的响应状态码均为200,且多个访问响应消息中的内容信息相同,同时多个访问响应消息中的内容信息与响应消息中的内容信息不相同,则确定目标网页存在漏洞。

可选地,在根据用户的触发操作向目标网页发送漏洞探测请求之前,该装置还包括:

第二接收模块,用于接收开发者收集的待攻击网页,其中,待攻击网页被网页防火墙防护;

第二发送模块,用于向待攻击网页发送攻击请求;

第三接收模块,基于攻击请求接收网页防火墙拦截攻击响应消息的拦截信息;

设定模块,用于将拦截信息中的网页防火墙的关键特征作为字典文件中的信息。

该实施例二中的内容可以参考上述实施例一中的内容,在此不再进行赘述。

本发明实施例所提供的突破web防护的漏洞扫描方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1