一种基于软件版本号识别软件漏洞的方法技术

技术编号:20160908 阅读:15 留言:0更新日期:2019-01-19 00:13
本发明专利技术实施例公开了一种基于软件版本号识别软件漏洞的方法,包括S1,将软件版本号的查询命令置于脚本或数据库中,调用所述查询命令获取软件的版本号;S2,根据获取到的版本号匹配比对方式,通过比对版本号的大小判断当前软件是否存在漏洞。本发明专利技术通过集成各软件版本号的查询命令,将查询到的软件版本号自动进行比对,判断当前软件版本是否存在漏洞,整个过程不需要人为参与,提高漏洞软件的识别效率,且显著提高软件漏洞识别的准确性。

【技术实现步骤摘要】
一种基于软件版本号识别软件漏洞的方法
本专利技术涉及计算机数据处理
,具体地说是一种基于软件版本号识别软件漏洞的方法。
技术介绍
软件版本号是指为软件设置的版本号码,是软件的一个重要属性,通过软件版本号可以直观的表现当前软件的迭代版本,该版本的具体功能。一个成熟的软件公司以及软件产品都有着规范的软件版本号。版本号的不断规范在软件过程中的作用随着发展也变得愈发重要起来,例如:某软件在什么版本存在什么漏洞,都可以直接通过版本号进行判断,这也对漏洞的修复带来了有利的帮助。传统的查询软件版本是否存在漏洞的方法是:通过版本号的查询命令获取版本号,然后人工比较当前版本是否存在漏洞。这种方式只查询一种软件较容易操作,但是查询多种软件的时候就存在人为参与效率低,且判断结果准确率低的现象。
技术实现思路
本专利技术实施例中提供了一种基于软件版本号识别软件漏洞的方法,以解决现有技术中人为判断存在漏洞的软件版本效率低、准确率低的问题。为了解决上述技术问题,本专利技术实施例公开了如下技术方案:本专利技术提供了一种基于软件版本号识别软件漏洞的方法,包括以下步骤:S1,将软件版本号的查询命令置于脚本或数据库中,调用所述查询命令获取软件的版本号;S2,根据获取到的版本号匹配比对方式,通过比对版本号的大小判断当前软件是否存在漏洞。进一步地,所述方法还包括:S3,将判断为存在漏洞的软件版本号及比对结果发送给漏洞测试软件,进行漏洞检测。进一步地,所述发送给漏洞测试软件,进行软件的漏洞检测的具体过程为:获取配置的漏洞测试软件的名称;将判断为存在漏洞的软件版本号及比对结果输出为所述名称对应的参数及格式;调用漏洞测试软件,对判断为存在漏洞的软件进行检测。进一步地,所述步骤S1还包括:通过识别主机IP(InternetProtocolAddress,网际协议地址),对本地或/和远程主机进行软件版本号的查询。进一步地,根据漏洞版本的指定方式,所述比对方式包括直接与漏洞版本比对,以及将漏洞版本用自定义参数表示,与自定义参数比对。进一步地,所述直接与漏洞版本比对的具体过程为:判断当前版本号与漏洞版本号的长度是否一致;若不一致,则当前版本不存在漏洞;若一致,将版本号进行拆分,从左至右一一比对,若存在不同,则当前版本不存在漏洞,否则当前版本存在漏洞。进一步地,所述自定义参数包括自定义版本号和标识符,所述自定义版本号和标识符共同决定存在漏洞的范围。进一步地,所述与自定义参数比对的具体过程为:判断当前版本号与自定义版本号的长度是否一致,若不一致,将短的版本号的结尾用0补位;将版本号进行拆分,从左至右一一比对,若存在不同,则判断两个版本号的大小,同时判断当前版本号是否落在漏洞范围内。
技术实现思路
中提供的效果仅仅是实施例的效果,而不是专利技术所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:1、通过集成各软件版本号的查询命令,将查询到的软件版本号自动进行比对,判断当前软件版本是否存在漏洞,整个过程不需要人为参与,提高漏洞软件的识别效率,且显著提高软件漏洞识别的准确性。2、在软件版本号的查询过程中,通过识别主机的IP地址,可以进行本地主机和远程主机的软件查询,提高本专利技术是适用范围,且避免逐个主机查询,简化查询过程,提高工作效率。3、在比对过程中,根据当前软件存在漏洞版本的特点,匹配不同的对比方式,提供比对效率和准确性。4、在判断出存在漏洞的软件后,通过第三方的漏洞测试软件,对判断为存在漏洞的软件进行进一步地漏洞测试,保证最终结果的准确性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术所述方法实施例1的流程示意图;图2是本专利技术所述方法实施例2的流程示意图。具体实施方式为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本专利技术进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本专利技术的不同结构。为了简化本专利技术的公开,下文中对特定例子的部件和设置进行描述。此外,本专利技术可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本专利技术省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本专利技术。如图1所示,本专利技术的一种基于软件版本号识别软件漏洞的方法包括:S1,将软件版本号的查询命令置于脚本或数据库中,调用所述查询命令获取软件的版本号;S2,根据获取到的版本号匹配比对方式,通过比对版本号的大小判断当前软件是否存在漏洞。步骤S1中,版本号查询主要实现本地或远程多软件版本的查询。本步骤中预置了常见软件的查询命令及方法,以命令的方式存放在脚本或者数据库中,在执行查询的时候进行调用,如Tomcat软件,通过命令shversion.sh获取当前版本号;通过IP对本地或远程主机进行检查,由于部分软件只能本地检查版本,通过对IP的判断,如果是本地IP则执行全部检查功能,如果是远程IP则执行只能远程检查功能。可以同时配置多个IP以实现多主机的查询。若存在新软件,可以手工增加新软件的查询功能,以适应对于新增软件的查询。步骤S2中,漏洞版本通过两种方式指定,包括定值指定与不定值指定。定值指定是将软件存在漏洞的版本预置到数据库或者配置文件中,在执行比对的时候,从数据库或配置文件中获取漏洞版本,采取直接与漏洞版本比对的方式,具体为:判断当前版本号与漏洞版本号的长度是否一致;若不一致,则当前版本不存在漏洞;若一致,将版本号进行拆分,从左至右一一比对,若存在不同,则当前版本不存在漏洞,否则当前版本存在漏洞。若当前软件的漏洞版本存在多个,将当前版本号与预设的多个漏洞版本进行逐个对比。不定值指定是将漏洞版本用自定义参数表示,与自定义参数比对。自定义参数包括自定义版本号和标识符,自定义版本号和标识符共同决定存在漏洞的范围。如自定义版本号设置为2.4.6、2.4.9,标识符设置为M、L和B,M表示大于自定义版本号存在漏洞,L表示小于自定义版本号存在漏洞,B表示自定义版本号之间存在漏洞。2.4.6M表示当前版本大于2.4.6则存在漏洞,2.4.9L表示当前版本小于2.4.9则存在漏洞,2.4.62.4.9B表示当前版本在2.4.6和2.4.9之间则存在漏洞。与自定义参数比对的具体过程为:判断当前版本号与自定义版本号的长度是否一致,若不一致,将短的版本号的结尾用0补位;将版本号进行拆分,从左至右一一比对,若存在不同,则判断两个版本号的大小,同时判断当前版本号是否落在漏洞范围内。将版本号拆分,从左至右一一比对包括两两比对、三三比对和多段比对等情况。两两比对多存在标识符为M或L的情况,通过对版本号进行拆分,从左开始一一比较,第一位相同则继续向右进行比对,存在不同时,判断出两个版本号的大小,判断当前版本号是否落在漏洞范围内,判断出当前版本是否为存在漏洞的版本。三三比对主要是判断已知版本号是否在两个指定版本号的中间,以判断该版本是否存在漏洞。先用查询到的版本号与两个自定义版本号中的一个进行比本文档来自技高网
...

【技术保护点】
1.一种基于软件版本号识别软件漏洞的方法,其特征是,包括以下步骤:S1,将软件版本号的查询命令置于脚本或数据库中,调用所述查询命令获取软件的版本号;S2,根据获取到的版本号匹配比对方式,通过比对版本号的大小判断当前软件是否存在漏洞。

【技术特征摘要】
1.一种基于软件版本号识别软件漏洞的方法,其特征是,包括以下步骤:S1,将软件版本号的查询命令置于脚本或数据库中,调用所述查询命令获取软件的版本号;S2,根据获取到的版本号匹配比对方式,通过比对版本号的大小判断当前软件是否存在漏洞。2.根据权利要求1所述的一种基于软件版本号识别软件漏洞的方法,其特征是,所述方法还包括:S3,将判断为存在漏洞的软件版本号及比对结果发送给漏洞测试软件,进行漏洞检测。3.根据权利要求2所述的一种基于软件版本号识别软件漏洞的方法,其特征是,所述发送给漏洞测试软件,进行软件的漏洞检测的具体过程为:获取配置的漏洞测试软件的名称;将判断为存在漏洞的软件版本号及比对结果输出为所述名称对应的参数及格式;调用漏洞测试软件,对判断为存在漏洞的软件进行检测。4.根据权利要求1或2所述的一种基于软件版本号识别软件漏洞的方法,其特征是,所述步骤S1还包括:通过识别主机IP,对本地或/和远程主机进行软件版本号的查询。5.根据权利要求1或2所述的一种基于软件版本号...

【专利技术属性】
技术研发人员:张忠伟
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1