一种漏洞盲测方法及装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别是涉及一种漏洞盲测方法及装置。
【背景技术】
[0002]随着互联网的发展以及网络信息的爆发式增长,网络安全变得越来越重要。其中,由于应用软件或操作系统设计时的缺陷或编码时产生的错误,或者在业务交互处理过程中的设计缺陷或逻辑流程上的不合理之处都会形成漏洞。这些漏洞可能会被有意或无意的利用,从而对系统的运行或网络安全造成不利影响,如信息系统被攻击或控制、重要资料被窃取、用户数据被篡改等。
[0003]由于现有的网络环境中会存在大量的漏洞,因此为了防止漏洞被人恶意利用而导致数据丢失或篡改、隐私泄露乃至金钱上的损失,如网站因漏洞被入侵,网站用户数据被泄露、网站功能可能遭到破坏而中止甚至服务器本身被入侵者控制,并且随着时间的推移,旧的漏洞会不断消失,新的漏洞会不断出现,漏洞问题也会长期存在。因此,在实际情况下,通常需要对漏洞进行不定期的检测。
[0004]目前在检测漏洞时,通常是向待检测目标发送检测请求,然后根据待检测目标的反馈结果来判断对方的操作系统类型、开发端口、提供的服务等敏感信息,并将反馈结果与自身记录的漏洞规则进行匹配,从而发现待检测目标存在的漏洞。但是,当待检测目标无法及时对检测请求进行响应并没有反馈结果时,就无法对漏洞进行检测。
【发明内容】
[0005]有鉴于此,本发明提出了一种漏洞盲测方法及装置,主要目的在于解决现有技术中当待检测目标不对漏洞检测请求进行结果反馈而导致无法检测出漏洞的问题。
[0006]依据本发明的第一个方面,本发明提供一种漏洞盲测方法,包括:
[0007]创建用于检测漏洞的测试代码;
[0008]将测试代码置于待检测目标中;
[0009]当待检测目标触发所述测试代码后,接收所述测试代码返回的执行结果;
[0010]根据所述执行结果确定待检测目标是否具有所述测试代码用于检测的漏洞。
[0011]依据本发明的第二个方面,本发明提供一种漏洞盲测装置,包括:
[0012]创建单元,用于创建检测漏洞的测试代码;
[0013]处理单元,用于将测试代码置于待检测目标中;
[0014]接收单元,用于当待检测目标触发所述测试代码后,接收所述测试代码返回的执行结果;
[0015]确定单元,用于根据所述执行结果确定待检测目标是否具有所述测试代码用于检测的漏洞。
[0016]借由上述技术方案,本发明实施例提供的一种漏洞盲测方法及装置,能够创建用于检测漏洞的测试代码;将测试代码置于待检测目标中;当待检测目标触发所述测试代码后,接收所述测试代码返回的执行结果;根据所述执行结果确定待检测目标是否具有所述测试代码用于检测的漏洞。而在现有技术中当需要检测目标是否具有漏洞时,需要向待检测目标发送检测请求,必须等到待检测目标针对请求进行响应并返回结果后才能完成检测。因此,与现有技术中这种被动的检测方式相比,本发明通过将检测漏洞的测试代码置于待检测目标中,一旦待检测目标触发所述测试代码,检测方就可以获取到所述测试代码返回的执行结果,从而不受待检测目标是否对检测请求进行响应的影响就能完成对待检测目标的漏洞检测。
[0017]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0018]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0019]图1示出了本发明实施例提供的一种漏洞盲测方法的流程图;
[0020]图2示出了本发明实施例提供的一种漏洞盲测装置的组成框图;
[0021 ]图3示出了本发明实施例提供的另一种漏洞盲测装置的组成框图。
【具体实施方式】
[0022]下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0023]目前在检测漏洞时,通常是向待检测目标发送检测请求,然后将待检测目标的反馈结果与自身记录的漏洞规则进行匹配,从而发现待检测目标是否存在漏洞。但是,当待检测目标没有向检测方反馈结果时,检测方就无法对漏洞进行检测。
[0024]为了解决上述问题,本发明实施例提供了一种漏洞盲测方法,能够将检测漏洞的测试代码置于待检测目标中,一旦待检测目标触发所述测试代码,检测方就可以获取到所述测试代码返回的执行结果,从而不受待检测目标是否对检测请求进行响应的影响就能完成对待检测目标的漏洞检测。如图1所示,该方法包括:
[0025]101、创建用于检测漏洞的测试代码。
[0026]漏洞是指一个系统存在的弱点或缺陷,其可能来自于应用软件或操作系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。由于漏洞对网络、系统、终端、服务器等安全性的影响非常大,因此如何检测并修补存在的漏洞对于目标的安全性非常重要。在测试目标中是否存在漏洞时,就需要使用针对漏洞特点设计的脚本或程序来检测漏洞。因此,本发明实施例需要执行步骤101创建用于检测漏洞的测试代码。其中,测试代码是根据需要检测的漏洞类型来创建的,不同类型的漏洞对应不同的测试代码来检测,本发明实施例中测试代码不同于攻击代码,不会返回具有超级权限的执行环境,而是用于返回风险等级对应的提升。
[0027]102、将测试代码置于待检测目标中。
[0028]当在步骤101中创建了用于检测漏洞的测试代码之后,就需要待检测目标触发所述测试代码,从而根据测试代码的执行结果来检测目标中是否存在漏洞。与现有技术中检测方需要将用于检测漏洞的数据包发送给待检测目标,等待待检测目标对数据包进行响应,并接收待检测目标返回的反馈信息来判断漏洞的方式不同,本发明实施例不关注待检测目标是否能够及时响应检测请求并返回结果,而是只需要将测试代码置于待检测目标中即可。因此本发明实施例在步骤101之后,需要执行步骤102将测试代码置于待检测目标中。
[0029]103、当待检测目标触发所述测试代码后,接收所述测试代码返回的执行结果。
[0030]当在步骤102中将测试代码置于待检测目标中之后,本发明实施例不需要关注待检测目标是否能够返回检测结果,只需要等到待检测目标触发所述测试代码即可。当待检测目标触发所述测试代码后,检测方会接收所述测试代码返回的执行结果。
[0031]104、根据所述执行结果确定待检测目标是否具有所述测试代码用于检测的漏洞。
[0032]当在步骤103中接收所述测试代码返回的执行结果之后,就可以将执行结果在漏洞规则库中进行匹配,根据匹配结果确定待检测目标是否具有所述测试代码用于检测的漏洞。
[0033]本发明实施例提供的一种漏洞盲测方法,能够创建用于检测漏洞的测试代码;将测试代码置于待检测目标中;当待检测目标触发所述测试代码后,接收所述测试代码返回的执行结果;根据所述执行结果确定待检测目标是否具有所述测试代码用于检测的漏洞。而在现有技术中当需要检测目标是否具有漏洞时,需要向待检测目标发送检测请求,必须等到待检测目标针对请求进行响应并返回结果后才能完成检测。因此,与现有技术中这种被动的检测方式相比,本发明通过将检测漏洞的测试代码置于待检测目标中,一旦待检测目标触发所述测试代码,检测方就可以获取到所述测试代码返回的执行结果,从而不受待检测目标是否对检测请求进行响应的影响就能完成对待检测目标的漏洞检测。
[0034]为了更好的对上述图1所示的方法进行理解,作为对上述实施方式的细化和扩展,本发明实施例将针对图1中的步骤进行详细说明。
[0035]由于在现实情况下,各种攻击行为所利用的漏洞类型具有普遍性,因此本发明实施例可以根据流行的漏洞来创建用于检测漏洞的测试代码。具体的,本发明实施例可以创建用于检测命令执行漏洞的测试代码,以及创建用于检测跨站脚本漏洞的测试代码。
[0036]当本发明实施例创建用于检测命令执行漏洞的测试代码时,可以通过浏览器提交隐藏有测试代码的执行命令,通过向待检测目标提交命令执行请求直接将所述测试代码置于待检测目标中。当服务器端没有针对执行函数做过滤时,就会在没有指定绝对