建站系统识别方法、装置、电子设备及存储介质与流程

文档序号:16381697发布日期:2018-12-22 09:32阅读:191来源:国知局
建站系统识别方法、装置、电子设备及存储介质与流程

本发明属于网络安全技术领域,具体涉及一种建站系统识别方法、装置、电子设备及存储介质。

背景技术

随着网络的迅速发展,web服务成为了信息的主要载体,web服务的安全决定了其承载信息的安全。安全检测是保障web服务安全的重要方法,可在遭受威胁攻击前发现web服务漏洞并进行漏洞修补。web服务漏洞与其应用的建站系统息息相关。准确识别web服务建站系统对提高安全检测的准确性及效率有着重要的意义。



技术实现要素:

鉴于此,本发明的目的在于提供一种建站系统识别方法、装置、电子设备及存储介质,以有效地改善上述问题。

本发明的实施例是这样实现的:

第一方面,本发明实施例提供了一种建站系统识别方法,包括:

获取待识别网页中的源码;获取包含所述源码中所有html元素的html元素集;获取表征所述html元素集中各个html元素以及对应的元素属性的映射关系的html元素属性集;获取表征所述html元素属性集中各个html元素、对应的元素属性以及属性值的映射关系的html元素属性值集;基于所述html元素属性值集以及预设特征库识别出所述待识别网页对应的建站系统,其中,所述预设特征库包含多个预设html元素属性值集,每个预设html元素属性值集对应一种已知建站系统。

在本发明可选的实施例中,基于所述html元素属性值集以及预设特征库识别出所述待识别网页对应的建站系统,包括:分别获取所述html元素属性值集与所述预设特征库中各预设html元素属性值集的相似度;从获取到的相似度中筛选出最大相似度;在所述最大相似度大于等于阈值时,基于所述最大相似度对应的已知建站系统识别出所述待识别网页对应的建站系统。

在本发明可选的实施例中,分别获取所述html元素属性值集与所述预设特征库中各预设html元素属性值集的相似度,包括:统计所述html元素属性值集中的html元素的总数量;分别统计所述html元素属性值集与所述预设特征库中各预设html元素属性值集中相同映射关系的匹配数量;基于所述匹配数量与所述总数量得到所述html元素属性值集与所述预设特征库中各预设html元素属性值集的相似度。

在本发明可选的实施例中,获取表征所述html元素集中各个html元素以及对应的元素属性的映射关系的html元素属性集,包括:获取所述html元素集中各个html元素对应的元素属性;基于所述html元素集以及所述html元素集中各个html元素对应的元素属性得到表征所述html元素集中各个html元素以及对应的元素属性的映射关系的html元素属性集。

在本发明可选的实施例中,获取表征所述html元素属性集中各个html元素、对应的元素属性以及属性值的映射关系的html元素属性值集;

获取所述html元素属性集中各个元素属性对应的属性值;基于所述html元素属性集以及所述html元素集中各个元素属性对应的属性值得到表征所述html元素属性集中各个html元素、对应的元素属性以及属性值的映射关系的html元素属性值集。

第二方面,本发明实施例还提供了一种建站系统识别装置,包括:第一获取模块,用于获取待识别网页中的源码;第二获取模块,用于获取包含所述源码中所有html元素的html元素集;第三获取模块,用于获取表征所述html元素集中各个html元素以及对应的元素属性的映射关系的html元素属性集;第四获取模块,用于获取表征所述html元素属性集中各个html元素、对应的元素属性以及属性值的映射关系的html元素属性值集;识别模块,用于基于所述html元素属性值集以及预设特征库识别出所述待识别网页对应的建站系统,其中,所述预设特征库包含多个预设html元素属性值集,每个预设html元素属性值集对应一种已知建站系统。

在本发明可选的实施例中,所述识别模块包括:获取单元,用于分别获取所述html元素属性值集与所述预设特征库中各预设html元素属性值集的相似度;筛选单元,用于从获取到的相似度中筛选出最大相似度;识别单元,用于在所述最大相似度大于等于阈值时,基于所述最大相似度对应的已知建站系统识别出所述待识别网页对应的建站系统。

在本发明可选的实施例中,所述获取单元包括:第一统计子单元,用于统计所述html元素属性值集中的html元素的总数量;第二统计子单元,用于分别统计所述html元素属性值集与所述预设特征库中各预设html元素属性值集中相同映射关系的匹配数量;得到子单元,用于基于所述匹配数量与所述总数量得到所述html元素属性值集与所述预设特征库中各预设html元素属性值集的相似度。

在本发明可选的实施例中,所述第三获取模块包括:获取单元,用于获取所述html元素集中各个html元素对应的元素属性;得到单元,用于基于所述html元素集以及所述html元素集中各个html元素对应的元素属性得到表征所述html元素集中各个html元素以及对应的元素属性的映射关系的html元素属性集。

在本发明可选的实施例中,所述第四获取模块包括:获取单元,用于获取所述html元素属性集中各个元素属性对应的属性值;得到单元,用于基于所述html元素属性集以及所述html元素集中各个元素属性对应的属性值得到表征所述html元素属性集中各个html元素、对应的元素属性以及属性值的映射关系的html元素属性值集。

第三方面,本发明实施例还提供了一种电子设备,存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器用于调用存储于所述存储器中的程序,以执行上述第一方面实施例提供的所述的识别方法。

第四方面,本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行上述第一方面实施例提供的所述的识别方法。

本发明实施例提供的建站系统识别方法,通过获取待识别网页中的源码;然后获取包含所述源码中所有html元素的html元素集;然后获取表征所述html元素集中各个html元素以及对应的元素属性的映射关系的html元素属性集;然后获取表征所述html元素属性集中各个html元素、对应的元素属性以及属性值的映射关系的html元素属性值集;最后基于所述html元素属性值集以及预设特征库识别出所述待识别网页对应的建站系统,其中,所述预设特征库包含多个预设html元素属性值集,每个预设html元素属性值集对应一种已知建站系统。该方法基于html元素属性值的相似度来识别建站系统,不仅丰富了建站系统的识别种类,而且提高了建站系统识别准确性,进而可以提前做好相应的保持措施,以便在遭受威胁攻击前发现web服务漏洞并进行漏洞修补。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。

图1示出了本发明实施例提供的一种电子设备结构示意图。

图2示出了本发明实施例提供的一种建站系统识别方法的流程图。

图3示出了本发明实施例提供的图2中的步骤s105的流程图。

图4示出了本发明实施例提供的图3中的步骤s201的流程图。

图5示出了本发明实施例提供的一种建站系统识别装置的模块示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

如图1所示,图1示出了本发明实施例提供的一种电子设备100的结构框图。所述电子设备100包括:建站系统识别装置110、存储器120、存储控制器130和处理器140。

所述存储器120、存储控制器130、处理器140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述建站系统识别装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器140用于执行存储器120中存储的可执行模块,例如所述建站系统识别装置110包括的软件功能模块或计算机程序。

其中,存储器120可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器120用于存储程序,所述处理器140在接收到执行指令后,执行所述程序,后述本发明实施例任一实施例揭示的流程定义的电子设备100所执行的方法可以应用于处理器140中,或者由处理器140实现。

处理器140可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

其中,在本发明实施例中,所述电子设备100可以是,但不限于不限于个人电脑(personalcomputer,pc)、智能手机、平板电脑等电子设备。

第一实施例

请参阅图2,为本发明实施例提供的一种应用于上述电子设备100的建站系统识别方法,下面将结合图2对其所包含的步骤进行说明。

步骤s101:获取待识别网页中的源码。

获取待识别网页中的源码,其中,待识别网页是指采用未知建站系统所建立的网页。

步骤s102:获取包含所述源码中所有html元素的html元素集。

获取该待识别网页中的源码中所包含的所有html元素,并形成包含所述源码中所有html元素的html元素集。例如,{'body','div','span','ul','i','dt','a','br','head','style','iframe','meta','img','dl','p','title','script','html','li','link','dd'}。其中,上述中的body、div、span等均为html元素。

步骤s103:获取表征所述html元素集中各个html元素以及对应的元素属性的映射关系的html元素属性集。

获取所述html元素集中各个html元素对应的元素属性,基于所述html元素集以及所述html元素集中各个html元素对应的元素属性得到表征所述html元素集中各个html元素以及对应的元素属性的映射关系的html元素属性集。例如,{'iframe':['src'],'span':['id'],'li':['id'],'a':['href'],'meta':['charset'],'div':['id'],'img':['src'],'ul':['class'],'script':['language'],'p':['style'],'html':['lang'],'i':['class'],'link':['href']}。其中,每个html元素后面的内容即为对应的元素属性,例如,iframe元素对应的元素属性为src,span元素对应的元素属性为id。

步骤s104:获取表征所述html元素属性集中各个html元素、对应的元素属性以及属性值的映射关系的html元素属性值集。

得到所述html元素属性集后,获取所述html元素属性集中各个元素属性对应的属性值,基于所述html元素属性集以及所述html元素集中各个元素属性对应的属性值得到表征所述html元素属性集中各个html元素、对应的元素属性以及属性值的映射关系的html元素属性值集。例如,{'iframe':{'src':['./module/visitcount/visit.jsp?type=1&i_webid=4&i_columnid=1943']},'span':{'id':['ss_webid']},'script':{'language':['javascript']},'meta':{'charset':['utf-8']},'div':{'id':['barrierfree_container','szf_pic_01','pic_list_1','scrolldiv','box2_center','101','hiddenlocation']},'ul':{'class':['dc','list','slides_item']},'li':{'id':['nobor']}}。其中,iframe元素对应的元素属性为src,该元素属性对应的属性值为./module/visitcount/visit.jsp?type=1&i_webid=4&i_columnid=1943;又例如,span元素对应的元素属性为id,id对应的属性值为ss_webid。

步骤s105:基于所述html元素属性值集以及预设特征库识别出所述待识别网页对应的建站系统。

得到html元素属性值集后,基于所述html元素属性值集以及预设特征库识别出所述待识别网页对应的建站系统。其中,所述预设特征库包含多个预设html元素属性值集,每个预设html元素属性值集对应一种已知建站系统。即,每个预设html元素属性值集是根据已知建站系统所建立的网页中的源码而确定的,其中,确定的过程与从待识别网页中获取源码进而得到述html元素属性值集的过程相同。也就是说,基于已知建站系统所建立的网页中的源码到预设html元素属性值集的过程与上述的步骤s101-s104的步骤相同。

其中,作为一种可选的实施方式,可以结合图3所示的步骤,对上述过程进行说明。

步骤s201:分别获取所述html元素属性值集与所述预设特征库中各预设html元素属性值集的相似度。

分别获取所述html元素属性值集与事先建立的特征库中各预设html元素属性值集的相似度。例如,预设特征库包括5个预设html元素属性值集,分别为a、b、c、d以及e,则获取与a的相似度,与b的相似度,与c的相似度,与d的相似度,以及与e的相似度。

作为一种可选的实施方式,可以结合图4所示的步骤对上述过程进行说明。

步骤s301:统计所述html元素属性值集中的html元素的总数量。

得到html元素属性值集后,统计所述html元素属性值集中的html元素的总数量,例如,有50个html元素。

步骤s302:分别统计所述html元素属性值集与所述预设特征库中各预设html元素属性值集中相同映射关系的匹配数量。

分别统计所述html元素属性值集与所述预设特征库中各预设html元素属性值集中相同映射关系的匹配数量,例如,与a存在相同映射关系的匹配数量为10,与b存在相同映射关系的匹配数量为15,与c存在相同映射关系的匹配数量为25,与d存在相同映射关系的匹配数量为40,与e存在相同映射关系的匹配数量为35。其中,相同映射关系是指,html元素、对应的元素属性以及属性值均相同。

步骤s303:基于所述匹配数量与所述总数量得到所述html元素属性值集与所述预设特征库中各预设html元素属性值集的相似度。

得到与各自预设html元素属性值集的匹配数量以及总数量后,基于所述匹配数量与所述总数量得到所述html元素属性值集与所述预设特征库中各预设html元素属性值集的相似度。例如,与a的相似度为10/50=20%,与b的相似度为15/50=30%,与c的相似度为25/50=50%,与d的相似度为40/50=80%,与e的相似度为35/50=70%。

步骤s202:从获取到的相似度中筛选出最大相似度。

从获取到的相似度中筛选出最大相似度,例如,上述中的最大相似度为80%。

步骤s203:在所述最大相似度大于等于阈值时,基于所述最大相似度对应的已知建站系统识别出所述待识别网页对应的建站系统。

在所述最大相似度大于等于阈值时,基于所述最大相似度对应的已知建站系统识别出所述待识别网页对应的建站系统。即在最大相似度大于等于阈值时,该待识别网页对应的建站系统与最大相似度对应的已知建站系统相同,反之则不相同。

其中,上述的阈值可以结合实际情况和具体需要来设定,阈值越大,准确度越高,例如,可以设置为70-99.99%之间的任一数值,如85%等。

需要说明的是,本实施例提供的基于html元素属性值集的相似度来识别建站系统,相对于现有中的采用http协议字段值、url路径及http响应体中关键词来判定web服务建站系统来说,其准确率更好,误判率更低。现有的判断方式中,例如,当http协议x-cache-handler字段的值为“wp”就判定web服务建站系统是wordpress;http响应体中包含关键词“powerbydiscuz!”就判定web服务建站系统是discuz!。主要原因是判定依据的http协议字段值、http响应体中关键词都能方便的修改,而url采用了rewrite机制,因此目前web服务建站系统识别技术存在大量误判的情况。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。

本实施例还提供了一种建站系统识别装置,如图4所示。该建站系统识别装置110包括:第一获取模块111、第二获取模块112、第三获取模块113、第四获取模块114以及识别模块115。

第一获取模块111,用于获取待识别网页中的源码。

第二获取模块112,用于获取包含所述源码中所有html元素的html元素集。

第三获取模块113,用于获取表征所述html元素集中各个html元素以及对应的元素属性的映射关系的html元素属性集。

第四获取模块114,用于获取表征所述html元素属性集中各个html元素、对应的元素属性以及属性值的映射关系的html元素属性值集。

识别模块115,用于基于所述html元素属性值集以及预设特征库识别出所述待识别网页对应的建站系统,其中,所述预设特征库包含多个预设html元素属性值集,每个预设html元素属性值集对应一种已知建站系统。

本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行上述方法实施例所述的识别方法。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本发明实施例所提供的建站系统识别装置110,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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