CN111008405A - 一种基于文件Hash的网站指纹识别方法 - Google Patents
一种基于文件Hash的网站指纹识别方法 Download PDFInfo
- Publication number
- CN111008405A CN111008405A CN201911241223.6A CN201911241223A CN111008405A CN 111008405 A CN111008405 A CN 111008405A CN 201911241223 A CN201911241223 A CN 201911241223A CN 111008405 A CN111008405 A CN 111008405A
- Authority
- CN
- China
- Prior art keywords
- website
- fingerprint
- information
- file
- path information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种基于文件Hash的网站指纹识别方法、装置、设备及可读存储介质,包括:将待识别网站的域名与指纹策略库中的文件路径信息进行组合,得到多个URL地址;筛选出能够返回预设响应码和二进制文件的目标URL地址,确定对应的目标文件路径信息;计算该二进制文件的数字签名摘要信息,并判断该数字签名摘要信息与指纹策略库中与目标文件路径信息相对应的文件摘要信息是否相同;若相同,则确定待识别网站的网站指纹识别结果为指纹策略库中与目标文件路径信息相对应的网站指纹名称。可见,该方法依据***必须保留的二进制文件的数字签名摘要来识别网站指纹,有效避免误报和漏报的问题,提升网站指纹识别结果的可靠性和准确性。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种基于文件Hash的网站指纹识别方法、装置、设备及可读存储介质。
背景技术
网站指纹代指网站使用了什么建站技术和框架。传统的网站指纹识别技术,主要依赖于网页上的关键字提取技术。
基于关键字提取技术的网站指纹识别方案,主要原理是关键字匹配,即在实际应用中,如果检测到网站的响应数据包中包括某些关键字,即判定该网站存在某一类型的指纹信息。比如,在当前网站的HTTP响应报文中包含了字符串“X-Powered-By:ThinkPHP”,则可以提取到当前网站的指纹信息包括ThinkPHP,ThinkPHP是一种网站快速建站开发框架。但是,该方案存在以下缺点:
误报:庞大的互联网中的数据是动态变更的,势必会存在一些未使用ThinkPHP框架技术的网站,其页面中包含了这些关键字信息,这样就会导致误报;
漏报:网站的建站人员可以轻易的对这些关键字信息进行变更和修改,修改之后使用关键字查找技术将无法识别,这样会产生漏报。
综上,现有的基于关键字提取技术的网站指纹识别方案存在误报和漏报的问题,影响后续业务的开展。可见,如何提供一种网站指纹识别方案,避免漏报和误报的现象,是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种基于文件Hash的网站指纹识别方法、装置、设备及可读存储介质,用以解决传统的网站指纹识别方案存在误报和漏报现象的问题。其具体方案如下:
第一方面,本申请提供了一种基于文件Hash的网站指纹识别方法,包括:
将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合,得到多个URL地址;其中,所述指纹策略库包括多条网站指纹信息,所述网站指纹信息包括网站指纹名称、文件路径信息和文件摘要信息;
从所述多个URL地址中筛选出能够返回预设响应码和二进制文件的目标URL地址,确定与所述目标URL地址对应的目标文件路径信息;
计算所述二进制文件的数字签名摘要信息,并判断所述数字签名摘要信息与所述指纹策略库中与所述目标文件路径信息相对应的文件摘要信息是否相同;
若相同,则确定所述待识别网站的网站指纹识别结果为所述指纹策略库中与所述目标文件路径信息相对应的网站指纹名称。
优选的,所述指纹策略库中的网站指纹信息还包括开发语言环境信息,所述将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合,得到多个URL地址,包括:
获取待识别网站的开发语言环境信息;
从指纹策略库中筛选出与所述开发语言环境信息相对应的文件路径信息;
将所述待识别网站的域名分别与筛选得到的文件路径信息进行组合,得到多个URL地址。
优选的,所述获取待识别网站的开发语言环境信息,包括:
向待识别网站发送curl命令以获取HTTP响应头,根据所述HTTP响应头确定所述待识别网站的开发语言环境信息。
优选的,所述指纹策略库中的网站指纹信息还包括预设数字签名算法,所述计算所述二进制文件的数字签名摘要信息,包括:
根据所述指纹策略库中与所述目标文件路径信息相对应的预设数字签名算法,计算所述二进制文件的数字签名摘要信息。
优选的,在所述将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合之前,还包括:
下载已知网站的安装包;
从所述安装包选择数据量小于预设阈值的目标文件;确定所述目标文件的文件路径信息,并计算所述目标文件的文件摘要信息;
将所述已知网站的网站指纹名称、所述文件路径信息和所述文件摘要信息作为网站指纹信息记录到指纹策略库中。
优选的,所述预设响应码为200。
优选的,所述网站指纹名称包括以下任意一项或多项信息:内容管理***、web服务器环境、编程语言、开发框架。
第二方面,本申请提供了一种基于文件Hash的网站指纹识别装置,包括:
地址组合模块:用于将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合,得到多个URL地址;其中,所述指纹策略库包括多条网站指纹信息,所述网站指纹信息包括网站指纹名称、文件路径信息和文件摘要信息;
地址筛选模块:用于从所述多个URL地址中筛选出能够返回预设响应码和二进制文件的目标URL地址,确定与所述目标URL地址对应的目标文件路径信息;
摘要对比模块:用于计算所述二进制文件的数字签名摘要信息,并判断所述数字签名摘要信息与所述指纹策略库中与所述目标文件路径信息相对应的文件摘要信息是否相同;
指纹识别结果模块:用于在所述数字签名摘要信息与所述指纹策略库中与所述目标URL地址相对应的文件摘要信息相同时,确定所述待识别网站的网站指纹识别结果为所述指纹策略库中与所述目标文件路径信息相对应的网站指纹名称。
第三方面,本申请提供了一种基于文件Hash的网站指纹识别识设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的一种基于文件Hash的网站指纹识别方法的步骤。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的一种基于文件Hash的网站指纹识别方法的步骤。
本申请所提供的一种基于文件Hash的网站指纹识别方法,包括:将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合,得到多个URL地址;其中,指纹策略库包括多条网站指纹信息,网站指纹信息包括网站指纹名称、文件路径信息和文件摘要信息;从多个URL地址中筛选出能够返回预设响应码和二进制文件的目标URL地址,确定与所述目标URL地址对应的目标文件路径信息;计算该二进制文件的数字签名摘要信息,并判断该数字签名摘要信息与指纹策略库中与目标文件路径信息相对应的文件摘要信息是否相同;若相同,则确定待识别网站的网站指纹识别结果为指纹策略库中与目标文件路径信息相对应的网站指纹名称。
可见,考虑到建站***、开发框架等网站指纹在不同的环境中使用时,一定会保留一些***内的文件信息,使***能够正常运行使用。因此,该方法依据其必须保留的二进制文件的数字签名摘要信息来识别网站指纹,并预先创建了包括网站指纹名称、文件路径信息和文件摘要信息的指纹策略库,一方面,为保证***正常运行,二进制文件不会被轻易修改;另一方面,同一文件的数字签名摘要信息在不同的终端上摘要值相同,因此,该方法能够有效避免误报和漏报的问题,提升网站指纹识别结果的可靠性和准确性。
此外,本申请还提供了一种基于文件Hash的网站指纹识别装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种基于文件Hash的网站指纹识别方法实施例一的实现流程图;
图2为本申请所提供的一种基于文件Hash的网站指纹识别方法实施例二中指纹策略库创建过程的实现流程图;
图3为本申请所提供的一种基于文件Hash的网站指纹识别方法实施例二中网站指纹识别过程的实现流程图;
图4为本申请所提供的一种基于文件Hash的网站指纹识别装置实施例的功能框图;
图5为本申请所提供的一种基于文件Hash的网站指纹识别设备实施例的结构示意图。
具体实施方式
本申请的核心是提供一种基于文件Hash的网站指纹识别方法、装置、设备及可读存储介质,依据二进制文件的数字签名摘要信息来识别网站指纹,能够有效避免误报和漏报的问题,提升网站指纹识别结果的可靠性和准确性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的一种基于文件Hash的网站指纹识别方法实施例一进行介绍,参见图1,实施例一包括:
S101、将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合,得到多个URL地址;
网站指纹,代指网站使用了什么建站技术和框架,举例来说,比如某网站使用了wordpress的建站***,则该网站的指纹信息就是wordpress,一个网站可能使用多种不同类型的技术,其指纹信息必然是丰富多样的。
网站指纹扫描用于识别目标所运行的web软件、后端服务器、编程语言等特征,实现对目标的web应用的准确标识。业内常将网站指纹分为以下四个维度:CMS建站***(版本)、web服务器环境(版本)、编程语言(版本)、开发框架(版本)。其中,CMS建站***即内容管理***,绝大多数网站使用CMS建设而成,全世界使用最多的CMS建站***为Wordpress;对于后端web服务器,则Apache、Tomcat、Nginx较为常见;对于开发框架,则如ThinkPHP、Struts等较为常见。
网站指纹识别就是识别网站在上述任意一个或多个维度具体使用什么***名称和版本,本实施例这些信息称为网站指纹名称。具体的,本实施例预先创建了指纹策略库,所述指纹策略库包括多条网站指纹信息,每条所述网站指纹信息包括网站指纹名称、文件路径信息和文件摘要信息,且根据文件路径信息和文件摘要信息可以唯一确定一个网站指纹名称。
S102、从所述多个URL地址中筛选出能够返回预设响应码和二进制文件的目标URL地址,确定与所述目标URL地址对应的目标文件路径信息;
具体的,依次对S101组合得到的各个URL地址发起请求,判断页面是否能够返回预设响应码和二进制文件。其中,预设响应码是指表征页面存在的响应码,二进制文件是指为保证***正常运行不会被轻易修改的文本文件。作为一种具体的实施方式,向URL地址发起请求,如果页面返回HTTP响应码为200的话,并且页面返回的资源类型不是HTML文件,则确定该URL地址为目标URL地址。
其中,与目标URL地址相对应的目标文件路径信息,即指纹策略库中的通过与待识别网站的域名进行组合能够得到目标URL地址的文件路径信息。
S103、计算所述二进制文件的数字签名摘要信息,并判断所述数字签名摘要信息与所述指纹策略库中与所述目标文件路径信息相对应的文件摘要信息是否相同;若相同,则跳转至S104,否则不做处理;
本步骤中,获取上述目标URL地址返回的二进制文件,并计算该二进制文件的数字签名摘要信息(Hash值)。其中,具体的计算方法可以参照现有的数字签名算法或根据实际需求进行选择,例如MD5、SHA-1等,本实施例对此不做限定。值得一提的是,此处选用的算法,需要与指纹策略库中与目标文件路径信息相对应的文件摘要信息的生成算法保持一致。
可以理解的是,在实际应用过程中,S102筛选得到的目标URL地址的数量可能为多个,这种情况下,在S103中需要分别判断各个目标URL地址返回的二进制文件的数字签名摘要信息与指纹策略库中相应的文件摘要信息是否一致。
S104、确定所述待识别网站的网站指纹识别结果为所述指纹策略库中与所述目标文件路径信息相对应的网站指纹名称。
如果目标URL地址返回的二进制文件的数字签名摘要信息与指纹策略库中相应的文件摘要信息相同,则判定待识别网站存在在指纹策略库中与目标文件路径信息相对应的网站指纹,流程结束。
如前文所述,网站指纹包括以下四个维度:CMS建站***、web服务器环境、编程语言、开发框架,本实施例可以实现其中任意一项或多项的识别,也就是说,依据本实施例的实施过程,最终得到的指纹识别结果可以包括以下任意一项或多项信息:CMS建站***、web服务器环境、编程语言、开发框架。但是,考虑到操作***和编程语言相对固定,因此,作为一种优选的实施方式,本实施例主要适用的场景是广泛的CMS建站***和开发框架的识别。
本实施例所提供一种基于文件Hash的网站指纹识别方法,考虑到建站***、开发框架等网站指纹在不同的环境中使用时,一定会保留一些***内的文件信息,使***能够正常运行使用。因此,本实施例依据其必须保留的二进制文件的数字签名摘要信息来识别网站指纹,并预先创建了包括网站指纹名称、文件路径信息和文件摘要信息的指纹策略库,一方面,为保证***正常运行,二进制文件不会被轻易修改;另一方面,同一文件的数字签名摘要信息在不同的终端上摘要值相同,因此,该方法能够有效避免误报和漏报的问题,提升网站指纹识别结果的可靠性和准确性。
下面开始详细介绍本申请提供的一种基于文件Hash的网站指纹识别方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
具体的,本实施例的指纹策略库中的网站指纹信息还包括开发语言环境信息,在网站指纹识别过程中,本实施例先通过开发语言环境信息对文件路径信息进行筛选,以减少后续计算量,提升网站识别效率。此外,本实施例还对指纹策略库的创建过程进行了介绍。最后,本实施例用于实现对CMS建站***和开发框架的识别。
参见图2,实施例二中指纹策略库的创建过程具体包括:
S201、下载已知网站的安装包或源码包;
S202、从所述安装包或源码包选择数据量小于预设阈值的目标文件;确定所述目标文件的文件路径信息,并计算所述目标文件的文件摘要信息;
S203、将所述已知网站的网站指纹名称、所述文件路径信息和所述文件摘要信息作为网站指纹信息记录到指纹策略库中。
首先,是信息提取部分:从互联网公开渠道下载各种建站***和开发框架安装包或者源码包,对安装或解压之后的源文件进行分析,提取网站部署之后可以在浏览器访问的二进制文件(如图片等)。确定二进制文件的文件路径信息,并使用数据签名算法对这些二进制文件进行计算,得到文件摘要信息。作为一种优选的实施方式,选择目标文件的过程中尽量选择文件体积小、文件路径短的二进制文件,一般每个网站***选择1~2个二进制文件即可。
然后,是信息录入部分:将该网站的网站指纹名称、文件路径信息、文件摘要信息作为一条网站指纹信息录入指纹策略库中。依此方法收集更多建站***或开发框架的网站指纹信息,以实现构建指纹策略库。
此外,如前文所述,本实施例的指纹策略库还包括开发语言环境信息,因此,在上述信息提取和信息录入的过程中,需要相应的提取网站的开发语言环境信息,并将开发语言环境信息连同上述三项信息共同作为一条网站指纹信息录入指纹策略库。
最后,作为一种优选的实施方式,还可以将文件摘要信息的计算过程所采用的数字签名算法一并录入指纹策略库中,以便在后续网站指纹识别过程中参考。
参见图3,实施例二中网站指纹识别过程具体包括:
S301、获取待识别网站的开发语言环境信息;
具体的,向待识别网站发送curl命令以获取HTTP响应头,根据所述HTTP响应头确定所述待识别网站的开发语言环境信息。
S302、从指纹策略库中筛选出与所述开发语言环境信息相对应的文件路径信息;
其中,所述指纹策略库包括多条网站指纹信息,所述网站指纹信息包括网站指纹名称、文件路径信息、文件摘要信息、开发语言环境信息、数字签名算法。
S303、将所述待识别网站的域名分别与筛选得到的文件路径信息进行组合,得到多个URL地址;
S304、从所述多个URL地址中筛选出能够返回响应码200和二进制文件的目标URL地址,确定与所述目标URL地址对应的目标文件路径信息;
S305、根据所述指纹策略库中与所述目标文件路径信息相对应的预设数字签名算法,计算所述二进制文件的数字签名摘要信息;
S306、判断所述数字签名摘要信息与所述指纹策略库中与所述目标文件路径信息相对应的文件摘要信息是否相同;若相同,则跳转至S307,否则不做处理;
S307、确定所述待识别网站的网站指纹识别结果为所述指纹策略库中与所述目标文件路径信息相对应的网站指纹名称。
综上,本实施例提供的一种基于文件Hash的网站指纹识别方法,通过采集现有建站***和开发框架中的目标文件的文件摘要信息、文件路径信息、开发语言环境信息,以此来建立指纹策略库。在网站指纹识别过程中,首选根据开发语言环境对指纹策略库中的文件路径信息进行筛选;然后将筛选得到的文件路径信息与待识别网站的域名进行组合,得到URL地址,并利用URL地址对待识别网站进行文件内容抓取;计算采集得到的二进制文件的数据签名摘要信息;比较该数据签名摘要信息与指纹策略库中相应的文件摘要信息是否相等;如果相等则认定待识别网站存在相应的网站指纹,反之则认为不存在。
可见,本实施例能够准确地、不遗漏地对网站指纹进行识别,准确识别到的网站指纹,有助于后续业务开展。比如建站***的市场占有率分析,对特定指纹***的漏洞进行有的放矢的安全检测等。
基于上述一种基于文件Hash的网站指纹识别方法实施例,下面以实际应用场景为例,对本申请的网站指纹识别过程进行介绍。
具体的,以业界知名的建站***dedecms作为示例来进行描述。
步骤一:建立指纹策略库。
从dedecms官网下载软件最新版安装包到本地磁盘,解压浏览文件的目录结构和大小,选择体积较小的二进制文件。通过在Linux操作***上查看dedecms的目录结构文件环境信息,可以看出,建站***dedecms的开发语言环境为PHP环境,选择体积为1.8k的小文件为/images/loadinglit.gif文件,并且使用MD5签名算法,计算其数字摘要,摘要信息值为”50c5e3e79b276c92df6cc52caeb464f0”。
将该网站的网站指纹名称、开发语言环境信息、文件路径信息、数字签名算法、文件摘要信息作为一条网站指纹信息记录到指纹策略库中。
至此构建了仅有一条网站指纹信息的指纹策略库(此处以仅包含一条网站指纹信息的指纹策略库为例进行说明,实际项目产品化时,根据项目需求可以包含更多的网站指纹信息),该网站指纹信息如表1所示:
表1
传入待识别网站,通过curl命令获取该网站的响应头,从而确定该网站的开发语言环境信息,并根据开发语言环境信息筛选指纹策略库中的网站指纹信息。如果在HTTP响应头中未获取到开发语言环境信息,则不需要过筛选过滤任何网站指纹信息。记录筛选得到的网站指纹信息,作为作下一步骤的使用。
遍历筛选得到的网站指纹信息,将待识别的网站的域名与文件路径信息组合为URL地址,下载该URL地址的二进制文件,并且根据指纹策略库中相应的数字签名算法进行签名摘要计算。
假设摘要计算值为“50c5e3e79b276c92df6cc52caeb464f0”,那么与指纹策略库中相应的文件摘要信息的值相同,则认为该网站的建站***是dedecms,版本为V5.7。
下面对本申请实施例提供的一种基于文件Hash的网站指纹识别装置进行介绍,下文描述的一种基于文件Hash的网站指纹识别装置与上文描述的一种基于文件Hash的网站指纹识别方法可相互对应参照。
如图4所示,该装置包括:
地址组合模块401:用于将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合,得到多个URL地址;其中,所述指纹策略库包括多条网站指纹信息,所述网站指纹信息包括网站指纹名称、文件路径信息和文件摘要信息;
地址筛选模块402:用于从所述多个URL地址中筛选出能够返回预设响应码和二进制文件的目标URL地址,确定与所述目标URL地址对应的目标文件路径信息;
摘要对比模块403:用于计算所述二进制文件的数字签名摘要信息,并判断所述数字签名摘要信息与所述指纹策略库中与所述目标文件路径信息相对应的文件摘要信息是否相同;
指纹识别结果模块404:用于在所述数字签名摘要信息与所述指纹策略库中与所述目标文件路径信息相对应的文件摘要信息相同时,确定所述待识别网站的网站指纹识别结果为所述指纹策略库中与所述目标URL地址相对应的网站指纹名称。
本实施例的基于文件Hash的网站指纹识别装置用于实现前述的基于文件Hash的网站指纹识别方法,因此该装置中的具体实施方式可见前文中的基于文件Hash的网站指纹识别方法的实施例部分,例如,地址组合模块401、地址筛选模块402、摘要对比模块403、指纹识别结果模块404,分别用于实现上述基于文件Hash的网站指纹识别方法中步骤S101,S102,S103,S104。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的基于文件Hash的网站指纹识别装置用于实现前述的基于文件Hash的网站指纹识别方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种基于文件Hash的网站指纹识别识设备,如图5所示,包括:
存储器100:用于存储计算机程序;
处理器200:用于执行所述计算机程序,以实现如上所述的一种基于文件Hash的网站指纹识别方法的步骤。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的一种基于文件Hash的网站指纹识别方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于文件Hash的网站指纹识别方法,其特征在于,包括:
将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合,得到多个URL地址;其中,所述指纹策略库包括多条网站指纹信息,所述网站指纹信息包括网站指纹名称、文件路径信息和文件摘要信息;
从所述多个URL地址中筛选出能够返回预设响应码和二进制文件的目标URL地址,确定与所述目标URL地址对应的目标文件路径信息;
计算所述二进制文件的数字签名摘要信息,并判断所述数字签名摘要信息与所述指纹策略库中与所述目标文件路径信息相对应的文件摘要信息是否相同;
若相同,则确定所述待识别网站的网站指纹识别结果为所述指纹策略库中与所述目标文件路径信息相对应的网站指纹名称。
2.如权利要求1所述的方法,其特征在于,所述指纹策略库中的网站指纹信息还包括开发语言环境信息,所述将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合,得到多个URL地址,包括:
获取待识别网站的开发语言环境信息;
从指纹策略库中筛选出与所述开发语言环境信息相对应的文件路径信息;
将所述待识别网站的域名分别与筛选得到的文件路径信息进行组合,得到多个URL地址。
3.如权利要求2所述的方法,其特征在于,所述获取待识别网站的开发语言环境信息,包括:
向待识别网站发送curl命令以获取HTTP响应头,根据所述HTTP响应头确定所述待识别网站的开发语言环境信息。
4.如权利要求1所述的方法,其特征在于,所述指纹策略库中的网站指纹信息还包括预设数字签名算法,所述计算所述二进制文件的数字签名摘要信息,包括:
根据所述指纹策略库中与所述目标文件路径信息相对应的预设数字签名算法,计算所述二进制文件的数字签名摘要信息。
5.如权利要求1所述的方法,其特征在于,在所述将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合之前,还包括:
下载已知网站的安装包;
从所述安装包选择数据量小于预设阈值的目标文件;确定所述目标文件的文件路径信息,并计算所述目标文件的文件摘要信息;
将所述已知网站的网站指纹名称、所述文件路径信息和所述文件摘要信息作为网站指纹信息记录到指纹策略库中。
6.如权利要求1所述的方法,其特征在于,所述预设响应码为200。
7.如权利要求1-6任意一项所述的方法,其特征在于,所述网站指纹名称包括以下任意一项或多项信息:内容管理***、web服务器环境、编程语言、开发框架。
8.一种基于文件Hash的网站指纹识别装置,其特征在于,包括:
地址组合模块:用于将待识别网站的域名分别与指纹策略库中的各个文件路径信息进行组合,得到多个URL地址;其中,所述指纹策略库包括多条网站指纹信息,所述网站指纹信息包括网站指纹名称、文件路径信息和文件摘要信息;
地址筛选模块:用于从所述多个URL地址中筛选出能够返回预设响应码和二进制文件的目标URL地址,确定与所述目标URL地址对应的目标文件路径信息;
摘要对比模块:用于计算所述二进制文件的数字签名摘要信息,并判断所述数字签名摘要信息与所述指纹策略库中与所述目标文件路径信息相对应的文件摘要信息是否相同;
指纹识别结果模块:用于在所述数字签名摘要信息与所述指纹策略库中与所述目标文件路径信息相对应的文件摘要信息相同时,确定所述待识别网站的网站指纹识别结果为所述指纹策略库中与所述目标URL地址相对应的网站指纹名称。
9.一种基于文件Hash的网站指纹识别识设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1-7任意一项所述的一种基于文件Hash的网站指纹识别方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-7任意一项所述的一种基于文件Hash的网站指纹识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911241223.6A CN111008405A (zh) | 2019-12-06 | 2019-12-06 | 一种基于文件Hash的网站指纹识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911241223.6A CN111008405A (zh) | 2019-12-06 | 2019-12-06 | 一种基于文件Hash的网站指纹识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111008405A true CN111008405A (zh) | 2020-04-14 |
Family
ID=70115024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911241223.6A Pending CN111008405A (zh) | 2019-12-06 | 2019-12-06 | 一种基于文件Hash的网站指纹识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008405A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708967A (zh) * | 2020-06-11 | 2020-09-25 | 浙江浙大网新国际软件技术服务有限公司 | 一种基于网站地图的指纹识别方法 |
CN111737702A (zh) * | 2020-06-22 | 2020-10-02 | 四川长虹电器股份有限公司 | 一种基于切比雪夫不等式的web指纹识别方法 |
CN112131508A (zh) * | 2020-09-25 | 2020-12-25 | 深信服科技股份有限公司 | 网站应用框架指纹识别的方法、设备、装置及介质 |
CN112347328A (zh) * | 2020-10-27 | 2021-02-09 | 杭州安恒信息技术股份有限公司 | 一种网络平台识别方法、装置、设备及可读存储介质 |
CN112367317A (zh) * | 2020-11-09 | 2021-02-12 | 浙江大学 | 一种内生安全waf指纹变换方法 |
CN112445997A (zh) * | 2020-12-15 | 2021-03-05 | 安徽三实信息技术服务有限公司 | 一种提取cms多版本识别特征规则的方法及装置 |
WO2023093444A1 (zh) * | 2021-11-29 | 2023-06-01 | 北京字节跳动网络技术有限公司 | 一种文件泄露检测方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065095A (zh) * | 2013-01-29 | 2013-04-24 | 四川大学 | 一种基于指纹识别技术的web漏洞扫描方法和漏洞扫描器 |
CN103632100A (zh) * | 2013-11-08 | 2014-03-12 | 北京奇虎科技有限公司 | 一种网站漏洞检测方法及装置 |
CN105227338A (zh) * | 2014-06-25 | 2016-01-06 | 北京奇虎科技有限公司 | 网站***信息的识别方法和装置 |
CN109376291A (zh) * | 2018-11-08 | 2019-02-22 | 杭州安恒信息技术股份有限公司 | 一种基于网络爬虫的网站指纹信息扫描的方法及装置 |
CN109697267A (zh) * | 2018-12-12 | 2019-04-30 | 西安四叶草信息技术有限公司 | Cms识别方法及装置 |
US20190294642A1 (en) * | 2017-08-24 | 2019-09-26 | Bombora, Inc. | Website fingerprinting |
CN110489701A (zh) * | 2019-08-19 | 2019-11-22 | 安徽三实信息技术服务有限公司 | 提取cms识别特征的方法、装置及cms识别方法 |
-
2019
- 2019-12-06 CN CN201911241223.6A patent/CN111008405A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065095A (zh) * | 2013-01-29 | 2013-04-24 | 四川大学 | 一种基于指纹识别技术的web漏洞扫描方法和漏洞扫描器 |
CN103632100A (zh) * | 2013-11-08 | 2014-03-12 | 北京奇虎科技有限公司 | 一种网站漏洞检测方法及装置 |
CN105227338A (zh) * | 2014-06-25 | 2016-01-06 | 北京奇虎科技有限公司 | 网站***信息的识别方法和装置 |
US20190294642A1 (en) * | 2017-08-24 | 2019-09-26 | Bombora, Inc. | Website fingerprinting |
CN109376291A (zh) * | 2018-11-08 | 2019-02-22 | 杭州安恒信息技术股份有限公司 | 一种基于网络爬虫的网站指纹信息扫描的方法及装置 |
CN109697267A (zh) * | 2018-12-12 | 2019-04-30 | 西安四叶草信息技术有限公司 | Cms识别方法及装置 |
CN110489701A (zh) * | 2019-08-19 | 2019-11-22 | 安徽三实信息技术服务有限公司 | 提取cms识别特征的方法、装置及cms识别方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708967A (zh) * | 2020-06-11 | 2020-09-25 | 浙江浙大网新国际软件技术服务有限公司 | 一种基于网站地图的指纹识别方法 |
CN111737702A (zh) * | 2020-06-22 | 2020-10-02 | 四川长虹电器股份有限公司 | 一种基于切比雪夫不等式的web指纹识别方法 |
CN112131508A (zh) * | 2020-09-25 | 2020-12-25 | 深信服科技股份有限公司 | 网站应用框架指纹识别的方法、设备、装置及介质 |
CN112347328A (zh) * | 2020-10-27 | 2021-02-09 | 杭州安恒信息技术股份有限公司 | 一种网络平台识别方法、装置、设备及可读存储介质 |
CN112367317A (zh) * | 2020-11-09 | 2021-02-12 | 浙江大学 | 一种内生安全waf指纹变换方法 |
CN112367317B (zh) * | 2020-11-09 | 2021-09-03 | 浙江大学 | 一种内生安全waf指纹变换方法 |
CN112445997A (zh) * | 2020-12-15 | 2021-03-05 | 安徽三实信息技术服务有限公司 | 一种提取cms多版本识别特征规则的方法及装置 |
WO2023093444A1 (zh) * | 2021-11-29 | 2023-06-01 | 北京字节跳动网络技术有限公司 | 一种文件泄露检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111008405A (zh) | 一种基于文件Hash的网站指纹识别方法 | |
CN103888490B (zh) | 一种全自动的web客户端人机识别的方法 | |
CN108632219B (zh) | 一种网站漏洞检测方法、检测服务器、***及存储介质 | |
CN109768992B (zh) | 网页恶意扫描处理方法及装置、终端设备、可读存储介质 | |
CN108900554B (zh) | Http协议资产检测方法、***、设备及计算机介质 | |
CN108667766B (zh) | 文件探测方法及文件探测装置 | |
CN110782374A (zh) | 基于区块链的电子取证方法及*** | |
CN109948334B (zh) | 一种漏洞检测方法、***及电子设备和存储介质 | |
CN106534268B (zh) | 一种数据共享方法及装置 | |
CN112769775B (zh) | 一种威胁情报关联分析方法、***、设备及计算机介质 | |
CN103455600A (zh) | 一种视频url抓取方法、装置及服务器设备 | |
CN113518077A (zh) | 一种恶意网络爬虫检测方法、装置、设备及存储介质 | |
CN111368227B (zh) | 一种url处理方法以及装置 | |
CN114465741B (zh) | 一种异常检测方法、装置、计算机设备及存储介质 | |
CN114157568B (zh) | 一种浏览器安全访问方法、装置、设备及存储介质 | |
CN109145179B (zh) | 一种爬虫行为检测方法及装置 | |
CN111224923A (zh) | 一种仿冒网站的检测方法、装置及*** | |
CN107786529B (zh) | 网站的检测方法、装置及*** | |
CN111131236A (zh) | 一种web指纹检测装置、方法、设备及介质 | |
CN110457900B (zh) | 一种网站监测方法、装置、设备及可读存储介质 | |
CN117113430A (zh) | 网页违规图片检测方法和装置、电子设备、存储介质 | |
CN111291288A (zh) | 网页链接抽取方法及*** | |
CN115437930A (zh) | 网页应用指纹信息的识别方法及相关设备 | |
CN107204958B (zh) | 网页资源元素的检测方法及装置、终端设备 | |
CN110825976B (zh) | 网站页面的检测方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200414 |