漏洞检验方法、系统、计算机设备及可读存储介质与流程

文档序号:28601491发布日期:2022-01-22 11:23阅读:74来源:国知局
漏洞检验方法、系统、计算机设备及可读存储介质与流程

1.本技术涉及网络安全技术领域,特别是涉及一种漏洞检验方法、系统、计算机设备及可读存储介质。


背景技术:

2.随着科技的不断进步,许多新兴的互联网信息技术不断涌现,为了方便各类用户进行操作,各种应用系统应运而生。在应用系统运行过程中,经常会出现一些漏洞,这些漏洞是在硬件、软件、协议的具体实现或者系统安全策略上存在的缺陷,攻击者可以利用这些漏洞在未授权的情况下访问或破坏系统。
3.现有的网络应用程序一般采用漏洞扫描软件来查杀,网络漏洞扫描软件是网站、主机等进行扫描的一种工具,在漏洞扫描工具扫描的漏洞清单中常会存有误报问题,想要找出误报则需要通过对漏洞清单逐一地人为进行检验,而人为检验不仅准确率很低,同时还会消耗大量的人力资源。
4.目前针对相关技术中需要人为对漏洞进行检验,不仅效率低下,同时还需要投入大量人力资源的问题,尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种漏洞检验方法、系统、计算机设备和可读存储介质,以至少解决相关技术中需要人为对漏洞进行核验,不仅效率低下,同时还需要投入大量人力资源的问题。
6.第一方面,本技术实施例提供了一种漏洞检验方法,包括:
7.接收漏洞扫描器发送的待复验漏洞的漏洞信息;
8.通过所述漏洞信息识别所述待复验漏洞的漏洞类型;
9.根据所述漏洞类型进行网页渲染,得到所述待复验漏洞的漏洞特征;
10.将所述漏洞特征与漏洞库中对应类型的漏洞比对,判断所述漏洞特征是否与所述漏洞库中的漏洞相匹配;
11.若所述待复验漏洞的漏洞特征与所述漏洞库中对应类型的漏洞相匹配,则确认存在漏洞。
12.在其中一些实施例中,所述根据漏洞类型通过chrome浏览器进行网页渲染。
13.在其中一些实施例中,各个所述漏洞类型具有相应的漏洞特征复验算法,根据所述漏洞类型采用相应的漏洞特征复验算法进行网页渲染。
14.在其中一些实施例中,根据所述漏洞类型进行网页渲染的步骤包括:
15.接收所述漏洞扫描器发送的响应包;
16.将所述响应包存储至map文件中,根据url进行唯一身份识别;
17.将所述响应包发送给浏览器代理;
18.根据漏洞特征复验算法,利用浏览器代理进行定向渲染。
19.在其中一些实施例中,所述根据所述漏洞类型进行网页渲染的步骤之后,所述方法还包括:
20.截取所述待复验漏洞进行渲染的所在页面。
21.第二方面,本技术实施例提供了一种漏洞检验系统,包括:
22.接收模块,用于接收漏洞扫描器发送的待复验漏洞的漏洞信息;
23.识别模块,用于通过所述漏洞信息识别所述待复验漏洞的漏洞类型;
24.渲染模块,用于根据所述漏洞类型进行网页渲染,得到所述待复验漏洞的漏洞特征;
25.比对模块,用于将所述漏洞特征与漏洞库中对应类型的漏洞比对,判断所述漏洞特征是否与所述漏洞库中的漏洞相匹配;
26.判断模块,用于若所述漏洞特征与所述漏洞库中对应类型的漏洞相匹配,则确认存在漏洞。
27.在其中一些实施例中,所述根据漏洞类型通过chrome浏览器进行网页渲染。
28.在其中一些实施例中,所述渲染模块之后,所述系统还包括:
29.截图模块,用于截取所述待复验漏洞进行渲染的所在页面。
30.第三方面,本技术实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的漏洞检验方法。
31.第四方面,本技术实施例提供了一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的漏洞检验方法。
32.相比于相关技术,本技术实施例提供的漏洞检验方法,通过对接收到的待复验漏洞的漏洞信息识别出对应的漏洞类型,并根据漏洞类型进行网页渲染,以得到该待复验漏洞的漏洞特征,再将该漏洞特征与在漏洞库中预存的对应类型的漏洞进行比对,判断是否匹配,以检验该待复验漏洞是否真实存在,解决了需要人为对漏洞进行检验,不仅效率低下,同时还需要投入大量人力资源的问题,实现了无需人为复验漏洞,使漏洞复验效率更高效且无需投入大量的人力资源,避免了人工检验的高成本。
33.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
34.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
35.图1是根据本技术第一实施例的漏洞检验方法的流程图;
36.图2是根据本技术第二实施例的漏洞检验方法的流程图;
37.图3是根据本技术第三实施例的漏洞检验系统的结构框图;
38.图4是根据本技术第四实施例的漏洞检验系统的结构框图;
39.图5是根据本技术第五实施例的计算机设备的硬件结构示意图。
具体实施方式
40.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
42.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
43.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
44.本技术第一实施例还提供了一种漏洞检验方法。图1是根据本技术第一实施例的漏洞检验方法的流程图,如图1所示,该流程包括如下步骤:
45.步骤s101,接收漏洞扫描器发送的待复验漏洞的漏洞信息;
46.其中,所述漏洞扫描器是网站、主机等进行漏洞扫描的一种工具,当所述漏洞扫描器初次识别出网页漏洞后,由于存有扫描错误,即误报问题,因此需要对扫描识别出的漏洞进行复验,当漏洞检验系统接收到所述漏洞扫描器发送过来的漏洞信息之后开始对漏洞的漏洞类型进行识别,以采用相应的方案进行判断。
47.步骤s102,通过所述漏洞信息识别所述待复验漏洞的漏洞类型;
48.其中,每个漏洞均存在相关的漏洞复验方案,不同类型的漏洞的复验方案也存有差异,因此,在实施复验前需要先确定好所述待复验漏洞的漏洞类型,而所述漏洞类型的确定是通过上一步骤中获取到的所述漏洞信息完成的,可以理解的,在所述漏洞扫描器发送
过来的漏洞信息中,会存有所述待复验漏洞的特殊字段,通过该特殊字段进行判断,可以获得所述待复验漏洞的漏洞类型。
49.步骤s103,根据所述漏洞类型进行网页渲染,得到所述待复验漏洞的漏洞特征;
50.其中,在本实施例中,是通过chrome浏览器进行网页渲染的,且如果在进行网页渲染的页面显示出所述待复验漏洞的漏洞特征,则执行步骤s104,如果针对所述待复验漏洞进行网页渲染后,并未得到所述漏洞特征,则可以直接判断出并不存在所述待复验漏洞。
51.步骤s104,将所述漏洞特征与漏洞库中对应类型的漏洞比对,判断所述漏洞特征是否与所述漏洞库中的漏洞相匹配;
52.其中,所述漏洞库是预先建立的,所述漏洞库包括了网站中常见的漏洞,以及与漏洞相对应的漏洞特征,可以理解的,通过将所述待复验漏洞的漏洞特征与现有的对应类型的漏洞来进行比对,来判断所述待复验漏洞是否真实存在。
53.步骤s105,若所述待复验漏洞的漏洞特征与所述漏洞库中对应类型的漏洞相匹配,则确认存在漏洞。
54.其中,例如所述待复验漏洞在所述漏洞库中的对应类型的漏洞为xss(cross site scripting,跨站脚本攻击),众所周知,xss的漏洞特征为网页弹窗,当对所述复验漏洞进行网页渲染后,如果存有网页弹窗,则说明待复验漏洞真实存在。
55.具体对应的代码为:
56.drivermanger.navigate(driver,url);
57.thread.sleep(2000);
58.alert=driver.switchto().alert();
59.通过该段代码进行网页渲染,如果程序获取到网页弹窗,那么则该漏洞有效。
60.在本实施例中,对获取到的所述待复验漏洞的漏洞信息识别出对应的漏洞类型,并根据所述漏洞类型进行网页渲染,以得到所述待复验漏洞的漏洞特征,再将得到的所述漏洞特征与在所述漏洞库中预存的对应类型的漏洞进行比对,判断是否匹配,以复验该漏洞是否真实存在,解决了目前需要人工复验漏洞,导致漏洞复验效率和准确率都很低的问题,实现了无需人为复验漏洞,使漏洞复验效率更高效且无需投入大量的人力资源,避免了人工检验的高成本。
61.在其中一些实施例中,所述根据漏洞类型通过chrome浏览器进行网页渲染。
62.其中,chrome是一款由google公司开发的一款浏览器软件,所述chrome浏览器的优点在于简洁的页面、更快的启动速度以及更好的安全性。由于所述chrome浏览器启动十分快速,所以在数据量很大的漏洞复验的工作中,采用所述chrome浏览器作为基准进行渲染是最好的实践,同时该chrome浏览器不易崩溃,速度快,搜索简单,而这也是成为选择chrome作为渲染浏览器的原因。
63.在其中一些实施例中,利用selenium框架驱动所述chrome浏览器进行网页渲染。
64.其中,selenium是一个用于web应用程序测试的自动化测试工具。selenium与其他应用程序测试不同的地方在于selenium是完全运行在浏览器中的,并且可以驱动浏览器进行渲染网页来复现出漏洞,在本实施例中,是基于所述selenium框架调用浏览器驱动来驱动所述chrome浏览器进行网页渲染。
65.在其中一些实施例中,各个所述漏洞类型具有相应的漏洞特征复验算法,根据所
述漏洞类型采用相应的漏洞特征复验算法进行网页渲染。
66.在其中一些实施例中,根据所述漏洞类型进行网页渲染的步骤包括:
67.接收所述漏洞扫描器发送的响应包;
68.其中,响应包为用户发送的请求包达到服务器后,要去处理该请求,把处理之后的结果发送给用户浏览器,我们将该结果称为响应包,用response表示。
69.将所述响应包存储至map文件中,根据url进行唯一身份识别;
70.其中,url(uniform resource locator,统一资源定位符)是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的url,它包含的信息可以指出文件的位置,也就是说,可以通过url找到相关的响应包,可以理解的,map为java代码中的类型,具有固定的key和value,根据map的特性,其中key为url,value为响应包。
71.需要说明的是,在将所述响应包发送至浏览器代理之前,还需要依次取出key和value,判断这两者是否为同源url,若为同源url,才能实现跨域请求,也就是说才能将所述响应包发送至浏览器代理。
72.具体地,可以通过以下代码来实现:
[0073][0074][0075]
将所述响应包发送给浏览器代理;
[0076]
其中,所述浏览器代理发送给浏览器请求包,为代理去构造响应包,以及响应的格式,例如utf-8,以及对渲染的界面进行一些人为操作如对页面高亮,搜索,查找等。由于可以构造代码,同时可以对漏洞特征进行凸显处理,给特征字符串进行加红等。具体伪代码如下:
[0077][0078]
根据漏洞特征复验算法,利用浏览器代理进行定向渲染。
[0079]
其中,浏览器渲染是通过拉起浏览器进行界面渲染的,渲染的过程为首先启动一个监听器,该监听器的作用为记录复验时间,通过监听器后期统计方案的复验是否具有时效性,代码如下:
[0080]
stopwatch stopwatch=new stopwatch();
[0081]
stopwatch.start();
[0082]
其中,例如,xss(远程跨站脚本)的漏洞复验方案伪代码为(此处只举一列漏洞的特征算法,其他特征算法步骤不同但有相同的步骤为,前置特征到简化代码到拉起渲染到关闭弹窗,到漏洞截图取证):
[0083][0084]
本技术第二实施例还提供了一种漏洞检验方法。图2是根据本技术第二实施例的漏洞检验方法的流程图,如图2所示,该流程包括如下步骤:
[0085]
步骤s201,接收漏洞扫描器发送的待复验漏洞的漏洞信息;
[0086]
步骤s202,通过所述漏洞信息识别所述待复验漏洞的漏洞类型;
[0087]
步骤s203,根据所述漏洞类型进行网页渲染,得到所述待复验漏洞的漏洞特征;
[0088]
步骤s204,截取所述待复验漏洞进行渲染的所在页面;
[0089]
其中,当浏览器进行正确渲染后,漏洞检验系统可以在秒级内去精确截取漏洞的所在页面,达到取证的目的,相对于较为复杂的文本来说,采用截图的方式进行漏洞取证,便于审核人员快速进行识别和确认。
[0090]
步骤s205,将所述漏洞特征与漏洞库中对应类型的漏洞比对,判断所述漏洞特征是否与所述漏洞库中的漏洞相匹配;
[0091]
步骤s206,若所述待复验漏洞的漏洞特征与所述漏洞库中对应类型的漏洞相匹配,则确认存在漏洞。
[0092]
在本实施例中,对获取到的所述待复验漏洞的漏洞信息识别出对应的漏洞类型,并根据所述漏洞类型进行网页渲染,以得到所述待复验漏洞的漏洞特征,再将得到的所述漏洞特征与在所述漏洞库中预存的对应类型的漏洞进行比对,判断是否匹配,以复验该漏洞是否真实存在,解决了目前需要人工复验漏洞,导致漏洞复验效率和准确率都很低的问题,实现了无需人为复验漏洞,使漏洞复验效率更高效且无需投入大量的人力资源,避免了人工核验的高成本。
[0093]
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些
情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0094]
本第三实施例还提供了一种漏洞检验系统,该系统用于实现上述第一实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0095]
图3是根据本技术第三实施例的漏洞检验系统的结构框图,如图3所示,该系统包括:
[0096]
接收模块10,用于接收漏洞扫描器发送的待复验漏洞的漏洞信息;
[0097]
识别模块20,用于通过所述漏洞信息识别所述待复验漏洞的漏洞类型;
[0098]
渲染模块30,用于根据所述漏洞类型进行网页渲染,得到所述待复验漏洞的漏洞特征;
[0099]
比对模块40,用于将所述漏洞特征与漏洞库中对应类型的漏洞比对,判断所述漏洞特征是否与所述漏洞库中的漏洞相匹配;
[0100]
判断模块50,用于若所述漏洞特征与所述漏洞库中对应类型的漏洞相匹配,则确认存在漏洞。
[0101]
在本实施例中,对获取到的所述待复验漏洞的漏洞信息识别出对应的漏洞类型,并根据所述漏洞类型进行网页渲染,以得到所述待复验漏洞的漏洞特征,再将得到的所述漏洞特征与在所述漏洞库中预存的对应类型的漏洞进行比对,判断是否匹配,以复验该漏洞是否真实存在,解决了目前需要人工复验漏洞,导致漏洞复验效率和准确率都很低的问题,实现了无需人为复验漏洞,使漏洞复验效率更高效且无需投入大量的人力资源,避免了人工核验的高成本。
[0102]
在其中一些实施例中,所述根据漏洞类型通过chrome浏览器进行网页渲染。
[0103]
在其中一些实施例中,利用selenium框架驱动所述chrome浏览器进行网页渲染。
[0104]
在其中一些实施例中,各个所述漏洞类型具有相应的漏洞特征复验算法,根据所述漏洞类型采用相应的漏洞特征复验算法进行网页渲染。
[0105]
在其中一些实施例中,所述渲染模块30具体包括:
[0106]
接收单元,用于接收所述漏洞扫描器发送的响应包;
[0107]
存储单元,用于将所述响应包存储至map文件中,根据url进行唯一身份识别;
[0108]
发送单元,用于将所述响应包发送给浏览器代理;
[0109]
渲染单元,用于根据漏洞特征复验算法,利用浏览器代理进行定向渲染。
[0110]
本第四实施例还提供了一种漏洞检验系统,该系统用于实现上述第二实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0111]
图4是根据本技术第四实施例的漏洞检验系统的结构框图,如图4所示,该系统包括:
[0112]
接收模块100,用于接收漏洞扫描器发送的待复验漏洞的漏洞信息;
[0113]
识别模块200,用于通过所述漏洞信息识别所述待复验漏洞的漏洞类型;
[0114]
渲染模块300,用于根据所述漏洞类型进行网页渲染,得到所述待复验漏洞的漏洞
access memory,简称sdram)等。
[0124]
存储器52可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器51所执行的可能的计算机程序指令。
[0125]
处理器51通过读取并执行存储器52中存储的计算机程序指令,以实现上述实施例中的任意一种漏洞检验方法。
[0126]
在其中一些实施例中,计算机设备还可包括通信接口53和总线50。其中,如图5所示,处理器51、存储器52、通信接口53通过总线50连接并完成相互间的通信。
[0127]
通信接口53用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。通信接口53还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
[0128]
总线50包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线50包括但不限于以下至少之一:数据总线(data bus)、地址总线(address bus)、控制总线(control bus)、扩展总线(expansion bus)、局部总线(local bus)。举例来说而非限制,总线50可包括图形加速接口(accelerated graphics port,简称为agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,简称为eisa)总线、前端总线(front side bus,简称为fsb)、超传输(hyper transport,简称为ht)互连、工业标准架构(industry standard architecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(low pin count,简称为lpc)总线、存储器总线、微信道架构(micro channel architecture,简称为mca)总线、外围组件互连(peripheral component interconnect,简称为pci)总线、pci-express(pci-x)总线、串行高级技术附件(serial advanced technology attachment,简称为sata)总线、视频电子标准协会局部(video electronics standards association local bus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线50可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
[0129]
该计算机设备可以基于获取到的计算机程序,执行本技术实施例中的漏洞检验方法,从而实现结合图1描述的漏洞检验方法。
[0130]
另外,结合上述实施例中的漏洞检验方法,本技术实施例可提供一种可读存储介质来实现。该可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种漏洞检验方法。
[0131]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0132]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1