漏洞检测方法及装置与流程

文档序号:28386993发布日期:2022-01-07 23:53阅读:106来源:国知局
漏洞检测方法及装置与流程

1.本技术涉及信息安全领域,具体而言,涉及一种漏洞检测方法及装置。


背景技术:

2.tomcat是apache软件基金会(apache software foundation)的jakarta项目中的一个核心项目,由apache、sun和其他一些公司及个人共同开发而成。由于有了sun的参与和支持,最新的servlet和jsp规范总是能在tomcat中得到体现,tomcat 5支持最新的servlet 2.4和jsp 2.0规范。因为tomcat技术先进、性能稳定,而且免费,因而深受java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的web应用服务器。
3.由于大量的业务系统都使用tomcat中间件作为构架,而且,tomcat中间件存在大量的漏洞,因此,在相关技术中,一般只有在tomcat爆出漏洞后,才会发现其才存在安全隐患,因此,相关技术中缺乏一种对tomcat的安全检测机制。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种漏洞检测方法及装置,以至少解决由于相关技术缺乏对tomcat的安全检测机制,造成的在数据传输及交互存在较大的安全隐患,数据的安全性不能得到保障的技术问题。
6.根据本技术实施例的一个方面,提供了一种漏洞检测方法,包括:发送统一定位资源符url对应的访问请求至服务器,并接收来自统一定位资源符url的响应结果,其中,响应结果用于指示url是否基于预设类型的中间件进行数据传输;在响应结果指示url基于预设类型的中间件进行数据传输的情况下,确定url对应的预设类型的目标中间件;调用预设中间件对应的漏洞测试代码;基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果。
7.可选地,基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,包括:检测目标中间件是否存在面向包协议文件读取漏洞;在检测结果指示目标中间件存在面向包协议文件的情况下,输出服务器在预设目录下的配置文件内容。
8.可选地,基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,包括:检测目标中间件是否存在弱口令;在检测结果指示目标中间件存在弱口令的情况下,输出弱口令,其中,弱口令包括:登录成功状态下的登录账号以及登录账号的密码。
9.可选地,基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,包括:检测目标中间件是否存文件上传漏洞;在检测结果指示目标中间件存在文件上传漏洞的情况下,输出目标文件名对应的文件,其中,目标文件名为目标中间件基于预设算法对文件的名称进行加密生成的。
10.可选地,发送访问请求至服务器,包括:接收待检测的互联网协议ip地址和端口号;将ip地址和端口号转换为url;确定url对应的访问请求,将url对应的访问请求发送至
服务器。
11.可选地,输出检测结果,包括:将检测结果输出至指定保存位置;接收目标对象的操作指令,展示在指定保存位置保存的检测结果。
12.根据本技术实施例的另一方面,还提供了一种漏洞检测装置,包括:发送模块,用于发送统一定位资源符url对应的访问请求至服务器,并接收来自统一定位资源符url的响应结果,其中,响应结果用于指示url是否基于预设类型的中间件进行数据传输;确定模块,用于在响应结果指示url基于预设类型的中间件进行数据传输的情况下,确定url对应的预设类型的目标中间件;调用模块,用于调用预设中间件对应的漏洞测试代码;输出模块,用于基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果。
13.可选地,输出模块,包括:检测单元,用于检测目标中间件是否存在面向包协议文件读取漏洞;输出单元,用于在检测结果指示目标中间件存在面向包协议文件的情况下,输出服务器在预设目录下的配置文件内容。
14.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行任意一种漏洞检测方法。
15.根据本技术实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行任意一种漏洞检测方法。
16.在本技术实施例中,采用判断是否基于预设类型的中间件进行传输,并根据判断结果调用漏洞测试代码进行检测的方式,通过发送统一定位资源符url对应的访问请求至服务器,并接收来自统一定位资源符url的响应结果,其中,响应结果用于指示url是否基于预设类型的中间件进行数据传输;在响应结果指示url基于预设类型的中间件进行数据传输的情况下,确定url对应的预设类型的目标中间件;调用预设中间件对应的漏洞测试代码;基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,达到了对中间件的类型进行判断,并在中间件属于目标类型的情况下则进行检测的目的,从而实现了对预设类型的中间件进行重点监控,并调用预先设置好的漏洞检测代码对目标中间件进行检测的技术效果,进而解决了由于相关技术缺乏对tomcat的安全检测机制,造成的在数据传输及交互存在较大的安全隐患,数据的安全性不能得到保障的技术问题。
附图说明
17.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
18.图1是根据本技术实施例的一种可选的漏洞检测方法的流程示意图;
19.图2是根据本技术实施例一种可选的tomcat中间件漏洞批量检测方法的流程图;
20.图3是根据本技术实施例一种可选的漏洞检测装置的结构示意图。
具体实施方式
21.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
22.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.为了便于本领域技术人员更好的理解本技术相关实施例,现将本技术可能涉及的技术术语或者部分名词,解释如下:
24.tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试jsp程序的首选。可以这样认为,当在一台机器上配置好apache服务器,可利用它响应html(标准通用标记语言下的一个应用)页面的访问请求。实际上tomcat是apache服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat时,它实际上作为一个与apache独立的进程单独运行的。
25.弱口令(weak password)没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令,例如“123”、“abc”等,因为这样的口令很容易被别人破解,从而使用户的计算机面临风险,因此不推荐用户使用。本技术中弱口令指的易被破解的账号以及密码等。
26.ajp(apache jserv protocol)是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。web服务器通过tcp连接和servlet容器连接。
27.poc(proof of concept),直译为“概念证明”,百度百科的权威定义如下:“概念证明是证实发布的漏洞真实性的测试代码”它可能仅仅只是一小段代码,功能也比较简单,只要能够用来验证某一个或者一类漏洞真实存在即可。
28.统一资源定位符(英语:uniform resource locator,缩写:url,或称统一资源定位器、定位地址、url地址[1])俗称网页地址,简称网址,是因特网上标准的资源的地址(address),如同在网络上的门牌。
[0029]
ip地址(英语:ip address),全称internet protocol address),又译为网际协议地址、互联网协议地址。是网际协议中用于标识发送或接收数据报的设备的一串数字。
[0030]
根据本技术实施例,提供了一种漏洞检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0031]
图1是根据本技术实施例的漏洞检测方法,如图1所示,该方法包括如下步骤:
[0032]
步骤s102,发送统一定位资源符url对应的访问请求至服务器,并接收来自统一定位资源符url的响应结果,其中,响应结果用于指示url是否基于预设类型的中间件进行数据传输;
[0033]
步骤s104,在响应结果指示url基于预设类型的中间件进行数据传输的情况下,确定url对应的预设类型的目标中间件;
[0034]
步骤s106,调用预设中间件对应的漏洞测试代码;
[0035]
步骤s108,基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果。
[0036]
该漏洞检测方法中,通过发送统一定位资源符url对应的访问请求至服务器,并接收来自统一定位资源符url的响应结果,其中,响应结果用于指示url是否基于预设类型的中间件进行数据传输;在响应结果指示url基于预设类型的中间件进行数据传输的情况下,确定url对应的预设类型的目标中间件;调用预设中间件对应的漏洞测试代码;基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,达到了对中间件的类型进行判断,并在中间件属于目标类型的情况下则进行检测的目的,从而实现了对预设类型的中间件进行重点监控,并调用预先设置好的漏洞检测代码对目标中间件进行检测的技术效果,进而解决了由于相关技术缺乏对tomcat的安全检测机制,造成的在数据传输及交互存在较大的安全隐患,数据的安全性不能得到保障的技术问题。
[0037]
需要说明的是,上述预定类型的中间件包括但不限于:tomcat中间件。
[0038]
本技术一些实施例中,基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,包括:检测目标中间件是否存在面向包协议文件读取漏洞;在检测结果指示目标中间件存在面向包协议文件的情况下,输出服务器在预设目录下的配置文件内容。
[0039]
具体地,上述面向包协议文件可以为tomcat-ajp协议文件,上述预设目录可以为web-inf下的web.xml文件内容。
[0040]
本技术一些实施例中,基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,包括:检测目标中间件是否存在弱口令;在检测结果指示目标中间件存在弱口令的情况下,输出弱口令,其中,弱口令包括:登录成功状态下的登录账号以及登录账号的密码。
[0041]
本技术一些实施例中,基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,包括:检测目标中间件是否存文件上传漏洞;在检测结果指示目标中间件存在文件上传漏洞的情况下,输出目标文件名对应的文件,其中,目标文件名为目标中间件基于预设算法对文件的名称进行加密生成的。需要说明的是,上述预设算法可以为md5加密算法。
[0042]
本技术一些实施例中,发送访问请求至服务器,包括:接收待检测的互联网协议ip地址和端口号;将ip地址和端口号转换为url;确定url对应的访问请求,将url对应的访问请求发送至服务器。
[0043]
需要说明的是,若基于上述三类tomcat中间件漏洞进行攻击,可以实现的攻击可以有以下5种:
[0044]
(1)利用tomcat-ajp协议文件读取漏洞可读取web-inf目录下web.xml文件内容;(2)利用tomcat-ajp协议文件读取漏洞可执行系统命令,获取服务器权限;(3)利用tomcat中间件常见弱口令,可登录tomcat中间件后台,对后台配置内容进行修改;(4)利用tomcat中间件常见弱口令,可上传war木马文件,获取webshell;(5)tomcat中间件上传漏洞可写入md5随机生成文件名的文件。
[0045]
本技术一些可选的实施例中,输出检测结果,包括:将检测结果输出至指定保存位置;接收目标对象的操作指令,展示在指定保存位置保存的检测结果,需要说明的是,上述
指定保存位置为计算机本地的物理位置,例如,计算机的a文件夹。
[0046]
图2是本技术一种可选的实施例中tomcat中间件漏洞批量检测方法的流程图,如图2所示,该检测方法包括:
[0047]
在一示例性实施例中,漏洞检测方法可以通过如下步骤实现,具体地:
[0048]
s1,手动导入需要检测的ip地址和端口;
[0049]
s2,通过对ip端口进行转换成url;
[0050]
s3,对于每一个url,发送http请求,获取服务器端的响应包;
[0051]
结合漏洞poc代码,对每行ip地址tomcat中间件漏洞进行验证;s4,依次对每一类漏洞进行验证,并输出每一类漏洞详细信息;具体地:
[0052]
第一步,tomcat-ajp协议文件读取漏洞,如果存在漏洞,会返回漏洞详细信息,并读取web-inf目录下web.xml文件内容。第二步,tomcat中间件常见弱口令,如果存在弱口令问题,输出tomcat中间件常见弱口令,例如,(可会返回登录成功状态和登录帐号口令信息)。第三步,tomcat中间件上传漏洞,如果存在漏洞,会返回漏洞详细信息,并写入md5随机生成文件名的文件。所有三类tomcat中间件漏洞结果输出可生成结果。
[0053]
图3是根据本技术实施例一种可选的漏洞检测装置,如图3所示,该装置包括:
[0054]
发送模块40,用于发送统一定位资源符url对应的访问请求至服务器,并接收来自统一定位资源符url的响应结果,其中,响应结果用于指示url是否基于预设类型的中间件进行数据传输;
[0055]
确定模块42,用于在响应结果指示url基于预设类型的中间件进行数据传输的情况下,确定url对应的预设类型的目标中间件;
[0056]
调用模块44,用于调用预设中间件对应的漏洞测试代码;
[0057]
输出模块46,用于基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果。
[0058]
该漏洞检测装置中,发送模块40,用于发送统一定位资源符url对应的访问请求至服务器,并接收来自统一定位资源符url的响应结果,其中,响应结果用于指示url是否基于预设类型的中间件进行数据传输;确定模块42,用于在响应结果指示url基于预设类型的中间件进行数据传输的情况下,确定url对应的预设类型的目标中间件;调用模块44,用于调用预设中间件对应的漏洞测试代码;输出模块46,用于基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,达到了对中间件的类型进行判断,并在中间件属于目标类型的情况下则进行检测的目的,从而实现了对预设类型的中间件进行重点监控,并调用预先设置好的漏洞检测代码对目标中间件进行检测的技术效果,进而解决了由于相关技术缺乏对tomcat的安全检测机制,造成的在数据传输及交互存在较大的安全隐患,数据的安全性不能得到保障的技术问题。
[0059]
可选地,输出模块46,包括:检测单元460,用于检测目标中间件是否存在面向包协议文件读取漏洞;输出单元462,用于在检测结果指示目标中间件存在面向包协议文件的情况下,输出服务器在预设目录下的配置文件内容。
[0060]
本技术一些实施例中,基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,包括:检测目标中间件是否存在弱口令;在检测结果指示目标中间件存在弱口令的情况下,输出弱口令,其中,弱口令包括:登录成功状态下的登录账号以及登录账号的密
码。
[0061]
本技术一些实施例中,基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果,包括:检测目标中间件是否存文件上传漏洞;在检测结果指示目标中间件存在文件上传漏洞的情况下,输出目标文件名对应的文件,其中,目标文件名为目标中间件基于预设算法对文件的名称进行加密生成的。需要说明的是,上述预设算法可以为md5加密算法。
[0062]
本技术一些实施例中,发送访问请求至服务器,包括:接收待检测的互联网协议ip地址和端口号;将ip地址和端口号转换为url;确定url对应的访问请求,将url对应的访问请求发送至服务器。
[0063]
根据本技术实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行任意一种漏洞检测方法。
[0064]
具体地,上述存储介质用于存储执行以下功能的程序指令,实现以下功能:发送统一定位资源符url对应的访问请求至服务器,并接收来自统一定位资源符url的响应结果,其中,响应结果用于指示url是否基于预设类型的中间件进行数据传输;在响应结果指示url基于预设类型的中间件进行数据传输的情况下,确定url对应的预设类型的目标中间件;调用预设中间件对应的漏洞测试代码;基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果。
[0065]
根据本技术实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行任意一种漏洞检测方法。
[0066]
具体地,上述处理器用于调用存储器中的程序指令,实现以下功能:发送统一定位资源符url对应的访问请求至服务器,并接收来自统一定位资源符url的响应结果,其中,响应结果用于指示url是否基于预设类型的中间件进行数据传输;在响应结果指示url基于预设类型的中间件进行数据传输的情况下,确定url对应的预设类型的目标中间件;调用预设中间件对应的漏洞测试代码;基于漏洞测试代码对url对应的目标中间件进行检测,输出检测结果。
[0067]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0068]
在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0069]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0070]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0071]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0072]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0073]
以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1