提取CMS识别特征的方法、装置及CMS识别方法与流程

文档序号:19218420发布日期:2019-11-26 01:54阅读:656来源:国知局
提取CMS识别特征的方法、装置及CMS识别方法与流程

本发明涉及网络安全技术领域,特别是涉及一种提取cms识别特征的方法、装置及cms识别方法。



背景技术:

内容管理系统,英文全称:contentmanagementsystem,英文缩写为cms。内容管理系统是一种运行于服务器端的对网站的栏目、内容以及模板等进行管理和维护的系统。

随着互联网的持续发展,如今cms的种类越来越多,开发者不再需要从零开始开发一个网站,只需从网上下载需要的开源建站程序即可快速建站,所以互联网中存在着大量使用cms搭建的网站;而在网络安全中,识别一个网站使用了何种cms程序对于安全测试工作有着重要影响,通过精准识别cms可以大大缩减安全测试环节中的工作量。

一般识别网站采用的是web指纹识别,其方法为:识别首页内容是否包含某关键词、判断某网页是否包含某关键词、判断网站的某静态文件的md5是否为预期值等方法。而传统的搜集web指纹特征的方法为:明确某网站为某开源建站程序,寻找某静态文件并将其作为该程序特有的文件,如该品牌建站程序的logo图片、js(javascript)或css(cascadingstylesheets)文件中包含了该品牌的名称,则将该文件作为该程序特有的文件,可以定义该文件的url(uniformresourcelocator,统一资源定位符)绝对路径作为该建站程序的特征文件路径,该文件的md5(message-digestalgorithm5,消息摘要算法第5版)值作为该建站程序的特征值,由此,特征文件路径+特征值+该品牌的建站程序组成了一个web指纹识别特征。

随着互联网上的cms种类日益增多,如何快速丰富web指纹识别的特征库成为了提升web指纹识别效率的关键,而传统的获取指纹特征的方法为手工寻找特征文件路径,需要基于经验从网页源码中寻找包含了品牌名称的特征文件,效率较低,并且大多数所寻找的特征文件都处于网站程序的特殊目录中,所查看的网页可能并没有加载该特征文件;另一方面,传统方法的精度差,很容易出现寻找的特征文件并非该建站程序独有,所以导致识别误报率较高。

因此,面临cms日益增多的局面,现有的获取cms指纹识别特征的方法已经无法满足精准识别cms的要求,如何高效率获取cms识别特征,用于精准识别cms,是一个迫切需要解决的问题。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种提取cms识别特征的方法、装置及cms识别方法,用于解决现有技术中为获取web指纹特征,需要基于经验从网页源码中手工寻找包含了品牌名称的特征文件来获取其文件路径,导致效率低,并且对于未加载所寻找的特征文件的网站,存在获取不到的问题,另一方面,很容易出现寻找的特征文件并非该建站程序独有,导致识别误报率较高。

为实现上述目的及其他相关目的,根据本发明的第一方面,提供一种提取cms识别特征的方法,包括:

获取多种开源cms源码文件;

对每种所述cms源码文件,查找其所有的静态文件,并计算每一个所述静态文件的哈希值,获取每个静态文件安装后的相对于其cms源码文件根目录的url相对路径,将所述url相对路径与所述哈希值一一对应形成该cms的cms特征集;

在各个所述cms特征集之间进行哈希值的比对,确定每个cms特征集中独有的哈希值;

提取所述每个cms特征集中独有的哈希值以及与独有的哈希值所对应的url相对路径,并将提取出的每一个哈希值以及与此哈希值对应的url相对路径一起作为与其对应的cms的一个识别特征。

优选地,所述哈希值采用函数md5、sha-1、sha-224、sha-256、sha-384、sha-512中的一种进行计算。

本发明的一实施例中,对于所述获取多种开源cms源码文件,若获取的开源cms源码文件为压缩包形式,对其进行解压,形成与cms类型相对应的解压后的源码文件。

本发明的一实施例中,在各个所述cms特征集之间进行哈希值的比对,确定每个cms特征集中独有的哈希值,包括:将每一个cms特征集中的每一个哈希值与其他cms特征集中的每一个哈希值进行比对,若存在相同,则此哈希值不是该cms特征集独有的哈希值,若均不相同,则此哈希值是该cms特征集独有的哈希值。

根据本发明的第二方面,提供一种提取cms识别特征的装置,包括:

获取模块,用于获取多种开源cms源码文件;

特征集模块,用于对每种所述cms源码文件,查找其所有的静态文件,并计算每一个所述静态文件的哈希值,获取每个静态文件安装后的相对于其cms源码文件根目录的url相对路径,将所述url相对路径与所述哈希值一一对应形成该cms的cms特征集;

比对模块,用于在各个所述cms特征集之间进行哈希值的比对,确定每个cms特征集中独有的哈希值;

提取模块,用于提取所述每个cms特征集中独有的哈希值以及与独有的哈希值所对应的url相对路径,并将提取出的每一个哈希值以及与此哈希值对应的url相对路径一起作为与其对应的cms的一个识别特征。

优选地,所述哈希值采用函数md5、sha-1、sha-224、sha-256、sha-384、sha-512中的一种进行计算。

本发明的一实施例中,若获取的开源cms源码文件为压缩包形式,所述获取模块还对其进行解压,形成与cms类型相对应的解压后的源码文件。

本发明的一实施例中,所述比对模块具体用于:将每一个cms特征集中的每一个哈希值与其他cms特征集中的每一个哈希值进行比对,若存在相同,则此哈希值不是该cms特征集独有的哈希值,若均不相同,则此哈希值是该cms特征集独有的哈希值。

根据本发明的第三方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面所提供的任一实施例的提取cms识别特征的方法的步骤。

根据本发明的第四方面,提供一种cms识别方法,包括:

s31,采用如第一方面所提供的任一实施例的方法提取cms识别特征,对于每一种cms,将其所有的识别特征形成其对应的cms识别集,所有的cms识别集形成cms识别特征库;

s32,对于其中的一个cms识别集,根据该cms识别集中的一个url相对路径,形成相应的待识别网站的url绝对路径,并请求所述url绝对路径下的静态文件,判断是否能获取到静态文件,若是,则执行步骤s33,若否,则执行步骤s34;

s33,计算所获取的静态文件的哈希值,并将所计算的哈希值与对应的cms识别集中的对应识别特征的哈希值进行比对,判断是否一一对应相同,若是,则执行步骤s35,若否,则执行步骤34;

s34,判断该cms识别集中是否有剩余未识别的url相对路径;若有,则转向下一个未识别的url相对路径,并对其执行步骤s32的操作,若无,则执行步骤s36;

s35,此对应相同的cms识别集所对应的cms类型即为待识别网站的cms类型,并执行步骤s37;

s36,判断所述cms识别特征库中是否有剩余未识别的cms识别集,若有,则转向下一个未识别的cms识别集,并对其执行步骤s32的操作,若无,则执行步骤s37;

s37,识别结束。

如上所述,本发明的一种提取cms识别特征的方法、装置及cms识别方法,具有以下

有益效果:

本发明提供的提取cms识别特征的方法、装置以及可读介质,通过对每一种cms源码文件中的所有静态文件进行哈希值的计算,形成每一种cms的cms特征集,再在各个cms特征集之间进行哈希值的比对,确定每个cms特征集中独有的哈希值,此独有的哈希值所对应的静态文件即为该cms的特征文件,由此提取出每个cms特征集中独有的哈希值以及与其所对应的的静态文件的url相对路径,并将其作为其对应的cms的识别特征。由于所提取的哈希值是每种cms所独有的,也就是所提取的哈希值所对应的静态文件是每种cms所独有的,此静态文件即为该cms的特征文件,真正实现了所提取的特征文件的哈希值和url相对路径代表cms的特征,所以能够精准识别cms,避免了现有技术中所存在的寻找的特征文件并非该建站程序独有,导致识别误报率较高的问题;并且本发明能够简单、快捷地确定独有的特征文件,并提取精准的识别特征,无需像现有技术那样,需要基于经验手工寻找包含了品牌名称的特征文件来获取文件路径而导致效率低,对于未加载所寻找的特征文件的网站,存在获取不到的问题。可见,本发明能够高效、精准的获取cms识别特征。

本发明将采用上述提取方法所提取的识别特征形成各个cms识别集以及识别特征库,依次对每一个cms识别集进行识别,并且在对每个cms识别集进行识别时,依次识别其中的一个识别特征,直至实现对待识别网站的识别。由于所提取的每一个识别特征都具有唯一性,能独一无二的代表cms的类型,所以由此所给出的识别方法能够精准识别cms,提高识别效率,降低识别错误率,具有非常广阔的应用前景。

附图说明

图1显示为本发明的提取cms识别特征的方法流程示意图。

图2显示为本发明的提取cms识别特征的方法的关于cms特征集的一实施例示意图。

图3显示为本发明的提取cms识别特征的装置流程示意图。

图4显示为本发明的cms识别方法流程示意图。

具体实施方式

以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。

如图1所示,为本发明的提取cms识别特征的方法流程图,该方法包括如下步骤:

s11,获取多种开源cms源码文件;

s12,对每种cms源码文件,查找其所有的静态文件,并计算每一个静态文件的哈希值,获取每个静态文件安装后的相对于其cms源码文件根目录的url相对路径,将url相对路径与哈希值一一对应形成该cms的cms特征集;

s13,在各个cms特征集之间进行哈希值的比对,确定每个cms特征集中独有的哈希值;

s14,提取每个cms特征集中独有的哈希值以及与独有的哈希值所对应的url相对路径,并将提取出的每一个哈希值以及与此哈希值对应的url相对路径一起作为与其对应的cms的一个识别特征。

由上可知,由于所提取的哈希值是每种cms所独有的,也就是所提取的哈希值所对应的静态文件是每种cms所独有的,此静态文件即为该cms的特征文件,真正实现了所提取的特征文件的哈希值和url相对路径代表cms的特征,所以能够精准识别cms,避免了现有技术中所存在的寻找的特征文件并非该建站程序独有,导致识别误报率较高的问题;并且本发明能够简单、快捷地确定独有的特征文件,并提取精准的识别特征,无需像现有技术那样,需要基于经验手工寻找包含了品牌名称的特征文件来获取文件路径而导致效率低,对于未加载所寻找的特征文件的网站,存在获取不到的问题。可见,本发明能够高效、精准的获取cms识别特征。

步骤s11中,若获取的开源cms源码文件为压缩包形式,需对其进行解压,形成与cms类型相对应的解压后的源码文件。一般获取的cms源码文件起初为压缩包形式需要解压以便于后续处理,单个压缩包解压后的文件存放在同一个文件夹中,以相应的cms名称命名,以实现与相应的cms类型对应,便于对应查找与处理。cms源码文件的获取方式可以从互联网上各大开源程序发布平台上下载,也可以通过互联网等传输形式进行传送获取。以尽可能获取多种类型的cms源码文件,这将提高cms识别的精准率。

静态文件,是网页应用中的一些必要文件,包括图片文件、js(后缀:.js)脚本文件或css(后缀.css)文件等。其中,图片文件包括但不限于后缀为.jpg、.png、.jpeg、.ico、.gif的文件。步骤s12中,对于每一种cms,通过遍历其cms源码文件,查找其所有的静态文件,即逐一判断文件后缀是否为图片、js文件或css文件,如果是,则为静态文件,计算其哈希值,并获取该静态文件安装后的相对于其cms源码文件根目录的url相对路径,再将静态文件的url相对路径、哈希值与cms对应记录下来,形成各个cms的cms特征集,其中,cms源码文件根目录为cms源码文件安装建站后,用于存放源码文件的目录,即为访问到源码文件所经过的路径,由静态文件的url绝对路径去掉前面的根目录即可得到其url相对路径,一般在建站时,一个cms源码程序安装后,其源码文件安装在网站的根目录下,所以其源码文件根目录即为网站根目录,例如,对于源码文件中的一静态文件,若其安装后的绝对路径为http://www.test.com/x1/x2.png(这里仅示例性说明),由于其源码文件根目录为网站根目录:http://www.test.com,所以其相对于源码文件根目录的url相对路径为:/x1/x2.png。

计算静态文件的哈希值的目的是为了校验文件的一致性,将其作为静态文件的一个特征值,能够快速、准确的识别cms的特征文件,进而识别cms类型。哈希值的算法有md5算法、sha算法(securehashalgorithm,安全散列算法,包括sha-1、sha-224、sha-256、sha-384,和sha-512)等,当然也可以通过编写其他hash函数来实现,本发明中选取其中的任一种算法即可。图2示例性给出多个cms特征集的实施例,其中,哈希值采用的是md5值,例如linux环境下可调用命令md5sum+文件名,计算出静态文件的md5值,当然也可以采用其他算法计算哈希值,图2中仅示例性给出url以及md5值,并不是真实的数据。

如图2所示,可以将各个静态文件的url相对路径与md5值分别记录在各个文件中,再将这些文件存储在一个以cms类型命名的文件夹中即可形成对应cms的cms特征集。当然,也可以采用其他形式,比如将静态文件的url相对路径、md5值以及cms类型按照一一对应的形式记录在同一文件中,相同类型的记录集合成对应cms的cms特征集,只要能够方便查找与处理即可。为方便数据处理,还将每种cms的cms特征集存储至第一数据库,以备处理使用。

步骤s13中,具体操作为将每一个cms特征集中的每一个哈希值与其他cms特征集中的每一个哈希值进行比对,若存在相同,则此哈希值不是该cms特征集独有的哈希值,若均不相同,则此哈希值是该cms特征集独有的哈希值。由此,独有的哈希值所对应的静态文件即为该cms的特征文件。每个cms特征集中独有的哈希值数量至少为一个,即由独有的哈希值以及与独有的哈希值对应的url相对路径所构成的每种cms的识别特征至少为一个。如图2所示,仅示例性地给出acms特征集中的部分md5值与其他部分特征集中的md5值进行比对的箭头示意图,未进行穷尽比对。

步骤s14中,所提取的每个cms特征集中独有的哈希值以及与独有的哈希值所对应的url相对路径与相应的cms是相对应的。可示例性地将如图2所示的独有的md5值所在的文件直接提取出来,并与相应的cms对应记录。当然,也可以采用其他形式,比如独有的md5值、相对应的静态文件的url相对路径以及cms类型按照一一对应的形式记录在同一文件中。为方便数据处理,还将每种cms的识别特征与对应的cms类型存储至第二数据库,以备处理使用。

基于上述方法,本发明还提供一种提取cms识别特征的装置,如图3所示,该装置20包括:

获取模块21,用于获取多种开源cms源码文件;

特征集模块22,用于对每种cms源码文件,查找其所有的静态文件,并计算每一个静态文件的哈希值,获取每个静态文件安装后的相对于其cms源码文件根目录的url相对路径,将url相对路径与哈希值一一对应形成该cms的cms特征集;

比对模块23,用于在各个cms特征集之间进行哈希值的比对,确定每个cms特征集中独有的哈希值;

提取模块24,用于提取每个cms特征集中独有的哈希值以及与独有的哈希值所对应的url相对路径,并将提取出的每一个哈希值以及与此哈希值对应的url相对路径一起作为与其对应的cms的一个识别特征。

由此,本发明所提供的提取cms识别特征的装置,能够快速、准确的提取出用于识别cms的特征文件的哈希值和url相对路径,并且所提取的识别特征是cms所独有的、独一无二的,避免了现有技术中所存在的寻找的特征文件并非该建站程序独有,导致识别误报率较高的问题;仅通过计算cms中静态文件的哈希值,并通过比对哈希值确定出独有的哈希值即可确定独有的哈希值所对应的静态文件即为该cms的特征文件,再提取特征文件的哈希值和url相对路径作为识别特征即可,操作简单、快捷,无需像现有技术那样,需要基于经验手工寻找包含了品牌名称的特征文件来获取文件路径而导致效率低,对于未加载所寻找的特征文件的网站,存在获取不到的问题。

其中,哈希值采用函数md5、sha-1、sha-224、sha-256、sha-384、sha-512中的一种进行计算。每个cms特征集中可存在至少一个独有的哈希值,即每种cms的识别特征至少为一个。

若获取的开源cms源码文件为压缩包形式,获取模块21还对其进行解压,形成与cms类型相对应的解压后的源码文件。

比对模块23具体用于:将每一个cms特征集中的每一个哈希值与其他cms特征集中的每一个哈希值进行比对,若存在相同,则此哈希值不是该cms特征集独有的哈希值,若均不相同,则此哈希值是该cms特征集独有的哈希值。

需要说明的是,本发明提供的一种提取cms识别特征的装置所涉及各模块的其他相应特征性描述,可以参考对图1的对应描述,具体的示例性实施例可以参考对图2的对应描述,在此不再赘述。

基于上述方法,本发明还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如图1-图2所示的前述的提取cms识别特征的方法,此处不再赘述。对于计算机可读存储介质,例如但不限于:只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、可编程只读存储器(prom)、cd-rom、磁带、磁盘、光盘、磁光盘、软盘和光数据存储装置、硬盘、可擦除可编程只读存储器(eprom)、dvd等。

基于上述方法,如图4所示,本发明还提供一种cms识别方法,包括:

s31,采用如前的提取cms识别特征的方法提取cms识别特征,对于每一种cms,将其所有的识别特征形成其对应的cms识别集,所有的cms识别集形成cms识别特征库;

s32,对于其中的一个cms识别集,根据该cms识别集中的一个url相对路径,形成相应的待识别网站的url绝对路径,并请求url绝对路径下的静态文件,判断是否能获取到静态文件,若是,则执行步骤s33,若否,则执行步骤s34;

s33,计算所获取的静态文件的哈希值,并将所计算的哈希值与对应的cms识别集中的对应识别特征的哈希值进行比对,判断是否一一对应相同,若是,则执行步骤s35,若否,则执行步骤34;

s34,判断该cms识别集中是否有剩余未识别的url相对路径;若有,则转向下一个未识别的url相对路径,并对其执行步骤s32的操作,若无,则执行步骤s36;

s35,此对应相同的cms识别集所对应的cms类型即为待识别网站的cms类型,并执行步骤s37;

s36,判断cms识别特征库中是否有剩余未识别的cms识别集,若有,则转向下一个未识别的cms识别集,并对其执行步骤s32的操作,若无,则执行步骤s37;

s37,识别结束。

每个cms识别集中可存在至少一个哈希值,即每种cms可存在至少一个特征文件,也即存在至少一个识别特征。在由本发明的上述识别方法进行识别时,利用由本发明的提取方法所获得的识别特征具有唯一性,能独一无二的代表cms的类型的特性,依次对每一个cms识别集进行识别,并且在对每个cms识别集进行识别时,依次识别其中的一个识别特征,只要按照识别集中的一个url相对路径获取待识别网站的url绝对路径,并请求静态文件,计算其哈希值,与识别集中相应的特征对应相同即可判断该识别集所对应的cms类型即为待识别网站的cms类型,这种识别方法源于所获得的每一个识别特征都是每种cms所独有的、是唯一的。本发明的仅依次由一个识别特征识别确定cms类型,直至实现对待识别网站的识别,不仅可以精准识别cms类型,还能提高识别效率,当然,将cms识别集中的所有识别特征进行全部对应识别,同样可行,但是针对识别过程中可能存在的待识别网站某一或某些相同路径下的静态文件被更改或删除的情形,往往会因为被更改或删除的静态文件在识别时出现其哈希值与识别集中的哈希值不能一一对应相同或者根本获取不到静态文件的情况而造成整个cms的类型无法识别的结果。而本发明采用的方法中通过依次对其识别特征进行识别,若根据某一识别特征得出的哈希值与识别集中的哈希值不能一一对应相同或者根本无法获取到静态文件,则转向下一个识别特征进行识别,因为对于多个特征文件,其全部被更改或删除的可能性几乎没有,这样就避免了因待识别网站某一或某些相同路径下的静态文件被更改或删除的情形而造成的无法识别的情况,明显提高了识别率。可见,本发明的识别方法不仅能够实现精准识别cms类型,还能提高识别效率,降低识别错误率,具有非常广阔的应用前景。

其中,哈希值采用函数md5、sha-1、sha-224、sha-256、sha-384、sha-512中的一种进行计算。由cms识别集中的url相对路径加上待识别网站根目录即形成待识别网站的url绝对路径,在建站时,一个cms源码程序安装后,其源码文件安装在网站的根目录下,访问网站域名即可指向网站的根目录,所以在url相对路径之前加上待识别网站的域名即可得到待识别网站的url绝对路径。

例如,在按照前述识别特征提取方法提取出识别特征后,对于每一种cms,将其所有的识别特征形成其对应的cms识别集,所有的cms识别集形成cms识别特征库,当待识别网站http://www.test.com时,对于其中的一个cms识别集,根据该cms识别集中的一个url相对路径形成相应的待识别网站的url绝对路径,例如对于cms识别特征库中的某cms识别集,若其含有的一个url相对路径:/admin/images/prototype.lite.js,其对应的md5值为:503ce03e1fcf5cc29240fe7cb97688b9,则根据其url相对路径形成待识别网站的url绝对路径为:http://www.test.com/admin/images/prototype.lite.js,并请求此路径下的静态文件,能够获取到静态文件,则计算此静态文件哈希值:md5值=503ce03e1fcf5cc29240fe7cb97688b9,将其与对应的某cms识别集中的对应识别特征的md5值比对,一一对应相同,则此对应相同的cms特征集所对应的cms类型即为该网站的cms类型。

需要说明的是,本发明提供的一种cms识别方法所涉及的提取cms识别特征的方法的描述,可以参考对图1的对应描述,具体的示例性实施例可以参考对图2的对应描述,在此不再赘述。

基于上述方法,本发明还提供一种cms识别设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行此计算机程序时实现如前所述的cms识别方法的步骤。

综上,本发明所提供的提取cms识别特征的方法、装置、可读介质以及cms识别方法、设备,由于所提取的哈希值是每种cms所独有的,也就是所提取的哈希值所对应的静态文件是每种cms所独有的,此静态文件即为该cms的特征文件,能够真正实现所提取的哈希值和url相对路径代表cms的特征,所以能够高精准、高效率的识别cms。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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