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

文档序号:14717768发布日期:2018-06-16 01:56阅读:149来源:国知局
漏洞检测方法及装置与流程

本发明涉及计算机领域,具体而言,涉及一种漏洞检测方法及装置。



背景技术:

现有技术中,移动应用主要运行在两种操作系统上,一种是安卓。安卓是一种基于Linux的自由及开放源码的操作系统,主要使用在移动设备,如智能手机和平板等,由谷歌公司和开放手机联盟领导及开发。在移动终端的平台中,安卓的占有率十分可观,并且被越来越广泛的应用和认可。一种是iOS,iOS是由苹果公司开发的移动操作系统,属于类Unix的商业操作系统。

然而,由于安卓系统与IOS系统为两套不同的操作系统,当对应用程序进行漏洞检测时,需要分别根据应用程序所在的操作系统配置对应的漏洞检测方法。也就是说,在现有技术中,还没有一种能够兼容不同操作系统的漏洞检测方法。



技术实现要素:

本发明实施例提供了一种漏洞检测方法及装置,以至少解决由于操作系统不同而漏洞检测方法无法兼容的技术问题。

根据本发明实施例的一个方面,提供了一种漏洞检测方法,包括:获取应用客户端所在操作系统的系统标识;根据预设映射关系确定与系统标识匹配的目标代理服务器的服务器标识,其中,预设映射关系用于存储操作系统的系统标识与服务器标识之间的对应关系;将应用客户端产生的数据包发送给目标代理服务器,其中,目标代理服务器用于对数据包进行漏洞检测。

可选地,在获取应用客户端所在操作系统的系统标识之前,还包括:配置系统标识与服务器标识之间的预设映射关系,其中,服务器标识包括以下至少之一:代理服务器的端口标识、代理服务器的IP地址。

可选地,在配置系统标识与服务器标识之间的预设映射关系之后,还包括:为代理服务器配置数据包抓取插件及漏洞检测插件,其中,抓取插件用于抓取应用客户端发送的数据包,漏洞检测插件用于检测在操作系统运行的应用客户端所产生的数据包是否存在漏洞。

可选地,在将应用客户端产生的数据包发送给目标代理服务器之后,还包括:获取目标代理服务器发送的验证结果,其中,验证结果用于验证数据包是否符合目标代理服务器预先配置的验证条件,在验证结果指示数据包正常的情况下,目标代理服务器将对数据包继续进行漏洞检测。

可选地,在将应用客户端产生的数据包发送给目标代理服务器之前,还包括:判断应用客户端与目标代理服务器之间所建立的网络连接是否有效;在网络连接失效的情况下,显示提示信息;根据提示信息重新建立与目标代理服务器之间的网络连接。

根据本发明实施例的另一方面,还提供了一种漏洞检测装置,包括:第一获取单元,用于获取应用客户端所在操作系统的系统标识;确定单元,用于根据预设映射关系确定与系统标识匹配的目标代理服务器的服务器标识,其中,预设映射关系用于存储操作系统的系统标识与服务器标识之间的对应关系;发送单元,用于将应用客户端产生的数据包发送给目标代理服务器,其中,目标代理服务器用于对数据包进行漏洞检测。

可选地,上述装置还包括:配置单元,用于配置系统标识与服务器标识之间的预设映射关系,其中,服务器标识包括以下至少之一:代理服务器的端口标识、代理服务器的IP地址。

可选地,配置单元还包括:配置模块,用于为代理服务器配置数据包抓取插件及漏洞检测插件,其中,抓取插件用于抓取应用客户端发送的数据包,漏洞检测插件用于检测在操作系统运行的应用客户端所产生的数据包是否存在漏洞。

可选地,上述装置还包括:第二获取单元,用于获取目标代理服务器发送的验证结果,其中,验证结果用于验证数据包是否符合目标代理服务器预先配置的验证条件,在验证结果指示数据包正常的情况下,目标代理服务器将对数据包继续进行漏洞检测。

可选地,发送单元还包括:判断模块,用于判断应用客户端与目标代理服务器之间所建立的网络连接是否有效;显示模块,用于在网络连接失效的情况下,显示提示信息;建立模块,用于根据提示信息重新建立与目标代理服务器之间的网络连接。

在本发明实施例中,通过获取应用客户端所在操作系统的系统标识;根据预设映射关系确定与系统标识匹配的目标代理服务器的服务器标识;将应用客户端产生的数据包发送给目标代理服务器,从而实现了对不同的操作系统的应用客户端进行漏洞检测,从而达到了提高漏洞检测效率的效果。进而解决了由于操作系统不同而漏洞检测方法无法兼容的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的漏洞检测方法的流程图;

图2是根据本发明实施例的一种可选的漏洞检测方法的映射关系示意图;

图3是根据本发明实施例的一种可选的漏洞检测装置的示意图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种漏洞检测的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的漏洞检测方法,如图1所示,该方法包括如下步骤:

步骤S102,获取应用客户端所在操作系统的系统标识;

步骤S104,根据预设映射关系确定与系统标识匹配的目标代理服务器的服务器标识,其中,预设映射关系用于存储操作系统的系统标识与服务器标识之间的对应关系;

步骤S106,将应用客户端产生的数据包发送给目标代理服务器,其中,目标代理服务器用于对数据包进行漏洞检测。

可选地,在获取应用客户端所在操作系统的系统标识之前,还包括:配置系统标识与服务器标识之间的预设映射关系,其中,服务器标识包括以下至少之一:代理服务器的端口标识、代理服务器的IP地址。

可选地,在配置系统标识与服务器标识之间的预设映射关系之后,还包括:为代理服务器配置数据包抓取插件及漏洞检测插件,其中,抓取插件用于抓取应用客户端发送的数据包,漏洞检测插件用于检测在操作系统运行的应用客户端所产生的数据包是否存在漏洞。

可选地,在将应用客户端产生的数据包发送给目标代理服务器之后,还包括:获取目标代理服务器发送的验证结果,其中,验证结果用于验证数据包是否符合目标代理服务器预先配置的验证条件,在验证结果指示数据包正常的情况下,目标代理服务器将对数据包继续进行漏洞检测。

可选地,在将应用客户端产生的数据包发送给目标代理服务器之前,还包括:判断应用客户端与目标代理服务器之间所建立的网络连接是否有效;在网络连接失效的情况下,显示提示信息;根据提示信息重新建立与目标代理服务器之间的网络连接。

通过上述步骤,实现了对不同的操作系统的应用客户端进行漏洞检测,从而达到了提高漏洞检测效率的效果。

作为一种可选的方案,在获取应用客户端所在操作系统的系统标识之前,还包括:

S1,配置系统标识与服务器标识之间的预设映射关系,其中,服务器标识包括以下至少之一:代理服务器的端口标识、代理服务器的IP地址。

例如,获取操作系统的系统标识,操作系统可以但不限于Android操作系统与IOS操作系统。每一个操作系统对应一个系统标识。根据操作系统的系统标识与代理服务器的IP地址建立映射关系的数据库,例如如图2所示,每一个系统标识对应的IP地址不同,标识1对应192.168.1.1,标识2对应192.168.1.2。当获取到操作系统的系统标识之后,根据数据库中记载的系统标识与服务器标识之间的映射关系匹配代理服务器。

通过本申请实施例,通过系统标识与服务器标识之间的映射关系匹配代理服务器,可以使每一个操作系统准确匹配到与自己配对的代理服务器,提高了匹配效率,进而提高了漏洞检测效率。

作为一种可选的方案,其在配置系统标识与服务器标识之间的预设映射关系之后,还包括:

S1,为代理服务器配置数据包抓取插件及漏洞检测插件,其中,抓取插件用于抓取应用客户端发送的数据包,漏洞检测插件用于检测在操作系统运行的应用客户端所产生的数据包是否存在漏洞。

例如,在代理服务器中设置数据包抓取插件与漏洞检测插件,其中数据包抓取插件可以为burpsui t插件,为burpsui t插件设置抓取规则,根据预设的抓取规则抓取数据包。例如可以为应用客户端每次发送数据包后,抓取数据包,或者每隔预定阈值的时间间隔后抓取数据包。其中漏洞检测插件可以提前存储多个漏洞。当抓取到数据包后,将数据包的内容与漏洞检测插件中预存的多个漏洞进行匹配,用于查看抓取的数据包中是否存在漏洞,进而检测应用客户端中是否存在漏洞。其中,漏洞检测插件中预存的漏洞可以但不限于为SQL注入漏洞、权限绕过漏洞、跨站脚本攻击漏洞等。

通过本申请实施例,通过在代理服务器中配置数据包抓取插件及漏洞检测插件,从而可以灵活抓取应用客户端发送的数据包,准确检测应用客户端是否存在漏洞,达到了提高漏洞检测效率的效果。

作为一种可选的实施方案,将应用客户端产生的数据包发送给目标代理服务器之后,还包括:

S1,获取目标代理服务器发送的验证结果,其中,验证结果用于验证数据包是否符合目标代理服务器预先配置的验证条件,在验证结果指示数据包正常的情况下,目标代理服务器将对数据包继续进行漏洞检测。

例如,代理服务器预先配置多个验证条件,可以但不限于为验证数据包的类型是否为与代理服务器匹配的类型,数据包的格式是否正确,数据包的大小是否符合标准等。当代理服务器抓取到数据包后,预先根据验证条件对数据包进行验证,当数据包符合上述验证条件的情况下,再继续对数据包进行漏洞检测。

通过本申请实施例,通过在对数据包进行漏洞检测之前,根据阈值的验证条件对数据包进行验证,从而避免了对不合格的数据包进行漏洞检测,从而提高了漏洞检测的效率,同时避免了错检的现象。

作为一种可选的实施方案,在将应用客户端产生的数据包发送给目标代理服务器之前,还包括:

S1,判断应用客户端与目标代理服务器之间所建立的网络连接是否有效;

S2,在网络连接失效的情况下,显示提示信息;

S3,根据提示信息重新建立与目标代理服务器之间的网络连接。

通过本申请实施例,通过判断应用客户端与目标代理服务器之间建立的网络连接是否有效的方法,从而保证了可以实时检测网络的正常。当网络出现异常时,可以显示提示信息并在应用客户端与目标代理服务器之间建立网络连接,达到了保持网络连接处于良好连接状态的效果,提高了漏洞检测的效率。

根据本发明的另一实施例,提供了一种漏洞检测的装置实施例,如图3所示,该装置包括:

1)第一获取单元302,用于获取应用客户端所在操作系统的系统标识;

2)确定单元304,用于根据预设映射关系确定与系统标识匹配的目标代理服务器的服务器标识,其中,预设映射关系用于存储操作系统的系统标识与服务器标识之间的对应关系;

3)发送单元306,用于将应用客户端产生的数据包发送给目标代理服务器,其中,目标代理服务器用于对数据包进行漏洞检测。可选地,上述装置还包括:配置单元,用于配置系统标识与服务器标识之间的预设映射关系,其中,服务器标识包括以下至少之一:代理服务器的端口标识、代理服务器的IP地址。

可选地,配置单元还包括:配置模块,用于为代理服务器配置数据包抓取插件及漏洞检测插件,其中,抓取插件用于抓取应用客户端发送的数据包,漏洞检测插件用于检测在操作系统运行的应用客户端所产生的数据包是否存在漏洞。

可选地,上述装置还包括:第二获取单元,用于获取目标代理服务器发送的验证结果,其中,验证结果用于验证数据包是否符合目标代理服务器预先配置的验证条件,在验证结果指示数据包正常的情况下,目标代理服务器将对数据包继续进行漏洞检测。

可选地,发送单元还包括:判断模块,用于判断应用客户端与目标代理服务器之间所建立的网络连接是否有效;显示模块,用于在网络连接失效的情况下,显示提示信息;建立模块,用于根据提示信息重新建立与目标代理服务器之间的网络连接。

通过上述单元、模块,实现了对不同的操作系统的应用客户端进行漏洞检测,从而达到了提高漏洞检测效率的效果。

作为一种可选的方案,上述装置还包括:

(1)配置单元,用于配置系统标识与服务器标识之间的预设映射关系,其中,服务器标识包括以下至少之一:代理服务器的端口标识、代理服务器的IP地址。

例如,获取操作系统的系统标识,操作系统可以但不限于Android操作系统与IOS操作系统。每一个操作系统对应一个系统标识。根据操作系统的系统标识与代理服务器的IP地址建立映射关系的数据库,例如如图2所示,每一个系统标识对应的IP地址不同,标识1对应192.168.1.1,标识2对应192.168.1.2。当获取到操作系统的系统标识之后,根据数据库中记载的系统标识与服务器标识之间的映射关系匹配代理服务器。

通过本申请实施例,通过系统标识与服务器标识之间的映射关系匹配代理服务器,可以使每一个操作系统准确匹配到与自己配对的代理服务器,提高了匹配效率,进而提高了漏洞检测效率。

作为一种可选的方案,上述配置单元还包括:

(1)配置模块,用于为代理服务器配置数据包抓取插件及漏洞检测插件,其中,抓取插件用于抓取应用客户端发送的数据包,漏洞检测插件用于检测在操作系统运行的应用客户端所产生的数据包是否存在漏洞。

例如,在代理服务器中设置数据包抓取插件与漏洞检测插件,其中数据包抓取插件可以为burpsuit插件,为burpsuit插件设置抓取规则,根据预设的抓取规则抓取数据包。例如可以为应用客户端每次发送数据包后,抓取数据包,或者每隔预定阈值的时间间隔后抓取数据包。其中漏洞检测插件可以提前存储多个漏洞。当抓取到数据包后,将数据包的内容与漏洞检测插件中预存的多个漏洞进行匹配,用于查看抓取的数据包中是否存在漏洞,进而检测应用客户端中是否存在漏洞。其中,漏洞检测插件中预存的漏洞可以但不限于为SQL注入漏洞、权限绕过漏洞、跨站脚本攻击漏洞等。

通过本申请实施例,通过在代理服务器中配置数据包抓取插件及漏洞检测插件,从而可以灵活抓取应用客户端发送的数据包,准确检测应用客户端是否存在漏洞,达到了提高漏洞检测效率的效果。

作为一种可选的方案,上述装置还包括:

(1)第二获取单元,用于获取目标代理服务器发送的验证结果,其中,验证结果用于验证数据包是否符合目标代理服务器预先配置的验证条件,在验证结果指示数据包正常的情况下,目标代理服务器将对数据包继续进行漏洞检测。

例如,代理服务器预先配置多个验证条件,可以但不限于为验证数据包的类型是否为与代理服务器匹配的类型,数据包的格式是否正确,数据包的大小是否符合标准等。当代理服务器抓取到数据包后,预先根据验证条件对数据包进行验证,当数据包符合上述验证条件的情况下,再继续对数据包进行漏洞检测。

通过本申请实施例,通过在对数据包进行漏洞检测之前,根据阈值的验证条件对数据包进行验证,从而避免了对不合格的数据包进行漏洞检测,从而提高了漏洞检测的效率,同时避免了错检的现象。

作为一种可选的实施方案,发送单元还包括:

(1)判断模块,用于判断应用客户端与目标代理服务器之间所建立的网络连接是否有效;

(2)显示模块,用于在网络连接失效的情况下,显示提示信息;

(3)建立模块,用于根据提示信息重新建立与目标代理服务器之间的网络连接。

通过本申请实施例,通过判断应用客户端与目标代理服务器之间建立的网络连接是否有效的方法,从而保证了可以实时检测网络的正常。当网络出现异常时,可以显示提示信息并在应用客户端与目标代理服务器之间建立网络连接,达到了保持网络连接处于良好连接状态的效果,提高了漏洞检测的效率。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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