CN111597490A - Web指纹识别方法、装置、设备及计算机存储介质 - Google Patents

Web指纹识别方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN111597490A
CN111597490A CN202010438556.4A CN202010438556A CN111597490A CN 111597490 A CN111597490 A CN 111597490A CN 202010438556 A CN202010438556 A CN 202010438556A CN 111597490 A CN111597490 A CN 111597490A
Authority
CN
China
Prior art keywords
response
page
website
tested
web
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
Application number
CN202010438556.4A
Other languages
English (en)
Inventor
刘宇滨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202010438556.4A priority Critical patent/CN111597490A/zh
Publication of CN111597490A publication Critical patent/CN111597490A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及金融科技(Fintech)技术领域,并公开了一种Web指纹识别方法,该方法包括:在待测试网站的URL可用时,向待测试网站发送第一请求,以获取待测试网站反馈的第一响应;获取第一请求对应的第二请求,将第二请求发送至待测试网站,以获取待测试网站反馈的第二响应,对第一响应和第二响应做页面动态内容删除处理,以获取共有内容页面;获取共有内容页面对应的hash值,检测hash值是否和预设的历史hash值匹配;若不匹配,则获取共有内容页面的总特征,根据总特征识别待测试网站的Web指纹识别结果。本发明还公开了一种Web指纹识别装置、设备和一种计算机存储介质。本发明提高了对web指纹识别的准确率。

Description

Web指纹识别方法、装置、设备及计算机存储介质
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及Web指纹识别方法、装置、设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对web(网络)指纹识别的技术提出了更高的要求。目前针对Web指纹识别主要是通过HTML(HyperText Markup Language,超文本标记语言)源码关键字、特殊文件及特殊路径等实现的。例如,某站点有一个广告,每次刷新该具有广告的页面时,所显示的广告都不一样,假设广告中含有关键字“jquery培训班”,但此站点并非使用jquery开发的,采用通过HTML源码识别的方式进行识别时,会识别出“jquery”关键字,从而误认为该站点使用jquery开发,导致web指纹识别的准确率低。因此如何提高web指纹识别的准确率成为了目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提出一种Web指纹识别方法、装置、设备及计算机存储介质,旨在解决如何提高Web指纹识别的准确率的技术问题。
为实现上述目的,本发明提供一种Web指纹识别方法,所述Web指纹识别方法包括如下步骤:
在待测试网站的URL可用时,向所述待测试网站发送第一请求,以获取所述待测试网站反馈的第一响应;
获取所述第一请求对应的第二请求,将所述第二请求发送至所述待测试网站,以获取所述待测试网站反馈的第二响应,并对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面;
获取所述共有内容页面对应的hash值,并检测所述hash值是否和预设的历史hash值匹配;
若不匹配,则获取所述共有内容页面的总特征,并根据所述总特征识别所述待测试网站的Web指纹识别结果。
可选地,所述总特征包括响应头特征,所述获取所述共有内容页面的总特征的步骤,包括:
确定所述共有内容页面的响应头,并检测所述响应头是否和预设的响应头关键字匹配;
若匹配,则将所述响应头关键字作为响应头特征。
可选地,所述总特征包括页面特征,所述获取所述共有内容页面的总特征的步骤,包括:
获取预设的多个页面关键字,并将所述共有内容页面和各所述页面关键字进行匹配;
若在各所述页面关键字中存在和所述共有内容页面匹配的目标页面关键字,则将所述目标页面关键字作为页面特征。
可选地,所述总特征包括中间件特征,所述获取所述共有内容页面的总特征的步骤,包括:
基于所述第一请求构建错误请求,并将所述错误请求发送至待测试网站,以获取所述待测试网站反馈的错误响应,并检测所述错误响应对应的页面中是否存在字符和所述共有内容页面匹配;
若匹配,则根据所述字符确定所述共有内容页面的中间件特征。
可选地,所述总特征包括URL关键特征,所述获取所述共有内容页面的总特征的步骤,包括:
确定所述待测试网站对应的特征库,并获取所述特征库中的多个预设URL关键字,并在各所述预设URL关键字中确定所述URL对应的目标URL关键字,将所述目标URL关键字作为URL关键特征。
可选地,所述对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面的步骤,包括:
获取所述第一响应和所述第二响应之间的所有公共子序列,并根据各所述公共子序列的长度在各所述公共子序列中获取最长公共子序列;
将各所述公共子序列中除最长公共子序列之外的其它公共子序列作为页面动态内容进行删除处理,并将所述最长公共子序列作为所述共有内容页面。
可选地,所述检测所述hash值是否和预设的历史hash值匹配的步骤之后,包括:
若所述hash值和历史hash值匹配,则获取所述历史hash值对应的旧结果,并将所述旧结果作为所述待测试网站的Web指纹识别结果。
此外,为实现上述目的,本发明还提供一种Web指纹识别装置,所述Web指纹识别装置包括:
发送模块,用于在待测试网站的URL可用时,向所述待测试网站发送第一请求,以获取所述待测试网站反馈的第一响应;
获取模块,用于获取所述第一请求对应的第二请求,将所述第二请求发送至所述待测试网站,以获取所述待测试网站反馈的第二响应,并对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面;
检测模块,用于获取所述共有内容页面对应的hash值,并检测所述hash值是否和预设的历史hash值匹配;
识别模块,用于若不匹配,则获取所述共有内容页面的总特征,并根据所述总特征识别所述待测试网站的Web指纹识别结果。
此外,为实现上述目的,本发明还提供一种Web指纹识别设备,所述Web指纹识别设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的Web指纹识别程序,所述Web指纹识别程序被所述处理器执行时实现如上所述的Web指纹识别方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有Web指纹识别程序,所述Web指纹识别程序被处理器执行时实现如上所述的Web指纹识别方法的步骤。
本发明通过在待测试网站的URL可用时,向所述待测试网站发送第一请求,以获取所述待测试网站反馈的第一响应;获取所述第一请求对应的第二请求,将所述第二请求发送至所述待测试网站,以获取所述待测试网站反馈的第二响应,并对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面;获取所述共有内容页面对应的hash值,并检测所述hash值是否和预设的历史hash值匹配;若不匹配,则获取所述共有内容页面的总特征,并根据所述总特征识别所述待测试网站的Web指纹识别结果。通过获取待测试网站基于第一请求反馈的第一响应和基于第二请求反馈的第二响应,并对第一响应和第二响应做页面动态内容删除处理,从而避免了现有技术中同一个页面因为动态内容而导致web指纹识别的准确率较低的现象发生,并且会在共有内容页面对应的hash值和历史hash值不匹配时,根据共有内容页面的特征识别待测试网站Web指纹。从而可以保障待测试网站在当前时刻之前未进行web指纹时,再识别待测试网络web指纹,提高了对web指纹识别的准确率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的Web指纹识别设备结构示意图;
图2为本发明Web指纹识别方法第一实施例的流程示意图;
图3为本发明Web指纹识别装置的装置模块示意图;
图4为本发明Web指纹识别方法中查找最长公共子序列的计算场景示意图;
图5为本发明Web指纹识别方法的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的Web指纹识别设备结构示意图。
本发明实施例Web指纹识别设备可以是PC机或服务器设备,其上运行有Java虚拟机。
如图1所示,该Web指纹识别设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的Web指纹识别设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及Web指纹识别程序。
在图1所示的Web指纹识别设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的Web指纹识别程序,并执行下述Web指纹识别方法中的操作。
基于上述硬件结构,提出本发明Web指纹识别方法实施例。
参照图2,图2为本发明Web指纹识别方法第一实施例的流程示意图,所述方法包括:
步骤S10,在待测试网站的URL可用时,向所述待测试网站发送第一请求,以获取所述待测试网站反馈的第一响应;
在本实施例中,Web指纹是Web服务组件在开发时留下的可对其类型及版本进行标识的特殊信息。Web指纹库是将Web服务组件的特殊信息和其类型及版本一一对应的规则数据库,以便在获取到页面的共有内容页面的特征时可以在Web指纹库中获取到待测试网站所用到的框架和库,即确定Web指纹识别结果。页面动态内容可以是以同样的方式两次访问同一个页面,但访问前后的内容并不完全相同,而其中不相同的内容即为动态内容。Hash是将任意长度的输入通过如散列算法变换成固定长度的输出。
在本实施例中,在进行web指纹识别之前,需要先对待测试网站的URL(uniformresource locator,统一资源定位系统)进行预处理,即检测URL的格式是否正确,而检测的方式可以是通过正则表达式来判断URL格式是否正确,并在URL的格式正确时,再检测此URL是否可用(如检测网络是否稳定等),若URL稳定则进行Web指纹识别。但是若URL的格式不正确,或者URL不可用,则不对此URL进行Web指纹识别。因此在待测试网站的URL可用时,可以直接向此URL所在的待测试网站发送请求指令(即第一请求,如http请求),并获取待测试网站基于此第一请求反馈的响应信息R1(即第一响应)。
步骤S20,获取所述第一请求对应的第二请求,将所述第二请求发送至所述待测试网站,以获取所述待测试网站反馈的第二响应,并对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面;
当获取到待测试网站基于第一请求反馈的第一响应后,还需要继续向待测试网站发送第二请求。需要说明的是,第一请求和第二请求都是请求访问待测试网站的同一页面,只是访问页面中的内容不同。也就是第一请求和第二请求基本相同,只存在部分参数不同。因此待测试网站会根据此第二请求反馈相应的响应信息R2(即第二响应)。并在获取到第一响应和第二响应后,可以对第一响应和第二响应做页面动态内容删除处理,即对R1和R2进行去除动态内容的处理,得到R1和R2的共有部分R(即共有内容页面)。而查找共有内容页面的方式可以是通过查找最长公共子序列的方式进行,即将R1和R2中共有的最长公共子序列P作为共有内容页面,而将R1和R2中非P的部分作为页面动态内容进行删除处理。
而查找最长公共子序列的方法可以如图4所示,其计算算法可以是:
Figure BDA0002501863390000061
其中,i可以为0-7,但不局限于此,同理j也可以为0-6,但不局限于此。xi可以是A、B、C、D中的任意一个。yi也可以是A、B、C、D中的任意一个。
步骤S30,获取所述共有内容页面对应的hash值,并检测所述hash值是否和预设的历史hash值匹配;
当获取到共有内容页面后,可以对此共有内容页面取hash值,并将此hash值与已识别数据库中的hash值(即预设的历史hash值)进行匹配,并根据不同的匹配结果执行不同的操作。例如对共有内容页面进行MD5(Message-Digest Algorithm,信息摘要算法)取摘要。即可以通过扫描共有内容页面的MD5值,并将扫描到的MD5值和已识别数据库中的各个历史MD5值进行对比,若存在目标历史MD5值,则确定在当前时刻之前已经识别过该共有内容页面,此时就可以直接在已识别数据库中获取对应的已识别结果作为当前的web指纹识别结果。
步骤S40,若不匹配,则获取所述共有内容页面的总特征,并根据所述总特征识别所述待测试网站的Web指纹识别结果。
当经过判断发现hash值和预设的历史hash值匹配时,则可以直接在已识别数据库中获取此历史hash值的web指纹识别结果,并将其作为当前待测试网站的web指纹识别结果。若hash值和预设的历史hash值不匹配,则需要对共有内容页面进行特征匹配,以获取共有内容页面的总特征。其中,特征匹配的方式可以是根据预设的特征库对共有内容页面的响应头进行关键字匹配,如根据特征库对响应头匹配X-Powered-By字段,例如:字段中含有X-Powered-By:OHO/5.2.1,即可以认为开发语言为PHP,此时也就是可以将开发语言为PHP作为共有内容页面的一项特征。还可以是根据Cookies(储存在用户本地终端上的数据)来进行判断。或者是根据header(标头)中的Server(服务器)信息来判断,如关键字DVRDVS-Webs、yunjiasu-nginx、Mod_Security、nginx-wallarm等。又或者是根据WWW-Authenticate(身份认证方式)进行判断,一些路由交换设备可能存在这个字段,如NETCORE、huawei、h3c等设备。当对响应头进行特征判断后,还需要对共有内容页面的页面关键字、URL中的关键特征等进行特征判断提取。然后根据提前设置好的指纹库和共有内容页面的特征来确定待测试网站应用到的框架和库,并将其作为web指纹识别结果存储到已完成的数据库中。
另外,为辅助理解本实施例中的Web指纹识别方法,下面进行举例说明。
例如,如图5所示,各个URL列表中确定待测试网站对应的URL,并进行程序初始化,再检测URL是否合法(即检测URL的格式是否正确),若否,则忽略此URL。若是,则可以发送http请求到待测试网站,以判断该URL是否可访问。若该URL不可访问,则忽略该URL。若该URL可以正常访问,对该URL发送第一次http请求,得到其反馈的响应R1,然后对该URL发送第二次http请求,得到响应R2。然后再对R1和R2进行动态内容识别,并去除动态内容,得到共有内容页面R,再对R进行hash运算取摘要,即可以对R进行MD5取摘要,并和已完成判断数据库中的MD5值进行对比,判断是否已经进行过识别,若是,则直接返回数据库中已经识别结果。若否,则需要对该响应进行特征匹配,根据指纹库中的内容判断其所用到的框架和库,并返回和特征库匹配的结果作为其Web指纹,并将结果存储到已完成判断数据库中。
在本实施例中,通过在待测试网站的URL可用时,向所述待测试网站发送第一请求,以获取所述待测试网站反馈的第一响应;获取所述第一请求对应的第二请求,将所述第二请求发送至所述待测试网站,以获取所述待测试网站反馈的第二响应,并对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面;获取所述共有内容页面对应的hash值,并检测所述hash值是否和预设的历史hash值匹配;若不匹配,则获取所述共有内容页面的总特征,并根据所述总特征识别所述待测试网站的Web指纹识别结果。通过获取待测试网站基于第一请求反馈的第一响应和基于第二请求反馈的第二响应,并对第一响应和第二响应做页面动态内容删除处理,从而避免了现有技术中同一个页面因为动态内容而导致web指纹识别的准确率较低的现象发生,并且会在共有内容页面对应的hash值和历史hash值不匹配时,根据共有内容页面的特征识别待测试网站Web指纹。从而可以保障待测试网站在当前时刻之前未进行web指纹时,再识别待测试网络web指纹,提高了对web指纹识别的准确率。
进一步地,基于本发明Web指纹识别方法第一实施例,提出本发明Web指纹识别方法第二实施例。本实施例是本发明第一实施例的步骤S40,获取所述共有内容页面的总特征的步骤的细化,包括:
步骤a,确定所述共有内容页面的响应头,并检测所述响应头是否和预设的响应头关键字匹配;
在本实施例中,总特征包括响应头特征。当确定共有内容页面的特征时,可以先确定共有内容页面的响应头,并检测此响应头中所包含的关键字是否和特征库中预设的响应头关键字匹配,并基于不同的检测结果执行不同的操作。例如,对响应头中进行X-Powered-By字段检测,检测响应头的字段中是否包含X-Powered-By:OHO/5.2.1。若包含有,则可以认为其开发语言为PHP。或者是根据Cookies来进行判断,例如当用户使用浏览器访问一个支持Cookie的网站的时候,用户会提供包括用户名在内的个人信息并且提交至服务器;接着服务器在向客户端回传相应的超文本的同时也会发回这些个人信息,并且这些信息是存放于HTTP响应头的,因此此时就可以对获取到的响应头中的Cookies进行检测,以确定身份信息。或者是根据header中的Server信息来判断,如关键字DVRDVS-Webs、yunjiasu-nginx、Mod_Security、nginx-wallarm等。又或者是根据WWW-Authenticate(身份认证方式)进行判断,一些路由交换设备可能存在这个字段,如NETCORE、huawei、h3c等设备。
步骤b,若匹配,则将所述响应头关键字作为响应头特征。
当经过判断发现响应头和预设的响应头关键字匹配,则可以将此响应头关键字作为响应头特征,并继续获取下一项特征。若响应头和预设的响应头不匹配,则继续获取下一项特征。
在本实施例中,通过获取共有内容页面的响应头,并在响应头和预设的响应头关键字匹配时,将响应头关键字作为响应头特征。从而保障了获取到的响应头特征的准确性。
进一步地,所述获取所述共有内容页面的总特征的步骤,包括:
步骤c,获取预设的多个页面关键字,并将所述共有内容页面和各所述页面关键字进行匹配;
在本实施例中,总特征包括页面跳转。当确定响应头对应的特征后,还需要在特征库中获取提前设置好的多个页面关键字,如Powered by Discuz、dedecms等。并依次将共有内容页面和各个页面关键字进行匹配,再基于不同的检测结果执行不同的检测结果。
步骤d,若在各所述页面关键字中存在和所述共有内容页面匹配的目标页面关键字,则将所述目标页面关键字作为页面特征
当经过判断发现在各个页面关键字中存在和共有内容页面匹配的目标页面关键字时,可以直接将此目标页面关键字作为页面特征。
在本实施例中,通过共有内容页面和预设的多个页面关键字中的目标页面关键字匹配时,将目标页面关键字作为页面特征,从而保障了获取到的页面特征的准确性。
进一步地,所述获取所述共有内容页面的总特征的步骤,包括:
步骤e,基于所述第一请求构建错误请求,并将所述错误请求发送至待测试网站,以获取所述待测试网站反馈的错误响应,并检测所述错误响应对应的页面中是否存在字符和所述共有内容页面匹配;
在本实施例中,总特征包括中间件特征,在确定共有内容页面的特征时,还可以根据第一请求或者第二请求来构建一个错误请求,其构建方式可以是对第一请求中的某一个或几个参数进行替换修改。再将此错误请求发送至待测试网站,以接收待测试网站反馈的响应信息(即错误响应),然后再将此错误响应对应的页面和共有内容页面匹配,以确定是否在错误响应中存在有字符和共有内容页面匹配,并根据不同的检测结果执行不同的操作。即根据错误响应的报错信息来判断待测试网站使用的CMS或中间件信息。
步骤f,若匹配,则根据所述字符确定所述共有内容页面的中间件特征。
当经过判断错误响应对应的页面中存在字符和共有内容页面匹配,则可以直接根据这些字符来确定待测试网站使用的CMS或中间件信息,即中间件特征。
在本实施例中,通过待测试网站根据错误请求反馈的错误响应,并在错误响应对应的页面中存在字符和共有内容页面匹配时,根据此字符确定共有内容页面的中间件特征,从而保障了获取到的中间件特征的准确性。
进一步地,所述获取所述共有内容页面的总特征的步骤,包括:
步骤h,确定所述待测试网站对应的特征库,并获取所述特征库中的多个预设URL关键字,并在各所述预设URL关键字中确定所述URL对应的目标URL关键字,将所述目标URL关键字作为所述共有内容页面的特征。
在本实施例中,总特征包括URL关键特征,即URL中的关键字特征。需要先确定待测试网站对应的特征库(其中,特征库包含有用户提前设置的多个特征),并获取特征库中的多个预设URL关键字,再将URL和各个预设URL关键字进行匹配,以确定目标URL关键字,并将目标URL关键字作为URL关键特征。
在本实施例中,通过获取特征库中的多个预设URL关键字,并确定和URL对应的目标URL关键字,将目标URL关键字作为URL关键特征,从而保障了获取到的URL关键特征的准确性。
进一步地,对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面的步骤,包括:
步骤k,获取所述第一响应和所述第二响应之间的所有公共子序列,并根据各所述公共子序列的长度在各所述公共子序列中获取最长公共子序列;
在本实施例中,当获取到第一响应和第二响应后,可以先获取第一响应和第二响应之间的所有公共子序列,此时就可以根据各个公共子序列的长度在各个公共子序列中获取最长公共子序列。其中,给定一个序列X=<x1,x2,x3,x4...,xm>,另一个序列Z=<z1,z2,z3,z4...,zk>,若存在一个严格递增的X的下标序列<i1,i2,i3,...,ik>对所有的1,2,3,...,k,都满足x(ik)=zk,则称Z是X的子序列。比如Z=<B,C,D,B>是X=<A,B,C,B,D,A,B>的子序列。如果Z既是X的子序列,又是Y的子序列,则称Z为X和Y的公共子序列。最长公共子序列则是各个子序列中长度最长的那个。
步骤m,将各所述公共子序列中除最长公共子序列之外的其它公共子序列作为页面动态内容进行删除处理,并将所述最长公共子序列作为所述共有内容页面。
当获取到最长公共子序列后,就可以将各个公共子序列中除最长公共子序列之外的其它公共子序列作为页面动态内容进行删除处理,并将此最长公共子序列作为共有内容页面。
在本实施例中,通过先获取第一响应和第二响应之间所有公共子序列,并将其中的最长公共子序列作为共有内容页面,并将其它公共子序列作为页面动态内容进行删除处理,从而保障了获取到的共有内容页面的准确性。
进一步地,检测所述hash值是否和预设的历史hash值匹配的步骤之后,包括:
步骤n,若所述hash值和历史hash值匹配,则获取所述历史hash值对应的旧结果,并将所述旧结果作为所述待测试网站的Web指纹识别结果。
在本实施例中,当经过判断发现hash值和历史hash值匹配,则可以确定在当前时刻之前已对待测试网站URL进行过相同的Web指纹识别操作。此时就可以直接在数据库中获取历史hash值对应的旧结果(即历史hash值对应的web指纹识别结果),并将其作为此次待测试网站测试的web指纹识别结果。
在本实施例中,通过在hash值和历史hash值匹配时,将历史hash值对应的旧结果作为待测试网站的Web指纹识别结果,从而保障了对待测试网站检测的准确性。
本发明还提供一种Web指纹识别装置,参照图3,所述Web指纹识别装置包括:
发送模块A10,用于在待测试网站的URL可用时,向所述待测试网站发送第一请求,以获取所述待测试网站反馈的第一响应;
获取模块A20,用于获取所述第一请求对应的第二请求,将所述第二请求发送至所述待测试网站,以获取所述待测试网站反馈的第二响应,并对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面;
检测模块A30,用于获取所述共有内容页面对应的hash值,并检测所述hash值是否和预设的历史hash值匹配;
识别模块A40,用于若不匹配,则获取所述共有内容页面的总特征,并根据所述总特征识别所述待测试网站的Web指纹识别结果。
可选地,所述总特征包括响应头特征,所述识别模块A40,还用于:
确定所述共有内容页面的响应头,并检测所述响应头是否和预设的响应头关键字匹配;
若匹配,则将所述响应头关键字作为响应头特征。
可选地,所述总特征包括页面特征,所述识别模块A40,还用于:
获取预设的多个页面关键字,并将所述共有内容页面和各所述页面关键字进行匹配;
若在各所述页面关键字中存在和所述共有内容页面匹配的目标页面关键字,则将所述目标页面关键字作为页面特征。
可选地,所述总特征包括中间件特征,所述识别模块A40,还用于:
基于所述第一请求构建错误请求,并将所述错误请求发送至待测试网站,以获取所述待测试网站反馈的错误响应,并检测所述错误响应对应的页面中是否存在字符和所述共有内容页面匹配;
若匹配,则根据所述字符确定所述共有内容页面的中间件特征。
可选地,所述总特征包括URL关键特征,所述识别模块A40,还用于:
确定所述待测试网站对应的特征库,并获取所述特征库中的多个预设URL关键字,并在各所述预设URL关键字中确定所述URL对应的目标URL关键字,将所述目标URL关键字作为URL关键特征。
可选地,所述获取模块A20,还用于:
获取所述第一响应和所述第二响应之间的所有公共子序列,并根据各所述公共子序列的长度在各所述公共子序列中获取最长公共子序列;
将各所述公共子序列中除最长公共子序列之外的其它公共子序列作为页面动态内容进行删除处理,并将所述最长公共子序列作为所述共有内容页面。
可选地,所述检测模块A30,还用于:
若所述hash值和历史hash值匹配,则获取所述历史hash值对应的旧结果,并将所述旧结果作为所述待测试网站的Web指纹识别结果。
上述各程序单元所执行的方法可参照本发明Web指纹识别方法各个实施例,此处不再赘述。
本发明还提供一种计算机存储介质。
本发明计算机存储介质上存储有Web指纹识别程序,所述Web指纹识别程序被处理器执行时实现如上所述的Web指纹识别方法的步骤。
其中,在所述处理器上运行的Web指纹识别程序被执行时所实现的方法可参照本发明Web指纹识别方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种Web指纹识别方法,其特征在于,所述Web指纹识别方法包括如下步骤:
在待测试网站的URL可用时,向所述待测试网站发送第一请求,以获取所述待测试网站反馈的第一响应;
获取所述第一请求对应的第二请求,将所述第二请求发送至所述待测试网站,以获取所述待测试网站反馈的第二响应,并对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面;
获取所述共有内容页面对应的hash值,并检测所述hash值是否和预设的历史hash值匹配;
若不匹配,则获取所述共有内容页面的总特征,并根据所述总特征识别所述待测试网站的Web指纹识别结果。
2.如权利要求1所述的Web指纹识别方法,其特征在于,所述总特征包括响应头特征,
所述获取所述共有内容页面的总特征的步骤,包括:
确定所述共有内容页面的响应头,并检测所述响应头是否和预设的响应头关键字匹配;
若匹配,则将所述响应头关键字作为响应头特征。
3.如权利要求1所述的Web指纹识别方法,其特征在于,所述总特征包括页面特征,
所述获取所述共有内容页面的总特征的步骤,包括:
获取预设的多个页面关键字,并将所述共有内容页面和各所述页面关键字进行匹配;
若在各所述页面关键字中存在和所述共有内容页面匹配的目标页面关键字,则将所述目标页面关键字作为页面特征。
4.如权利要求1所述的Web指纹识别方法,其特征在于,所述总特征包括中间件特征,
所述获取所述共有内容页面的总特征的步骤,包括:
基于所述第一请求构建错误请求,并将所述错误请求发送至待测试网站,以获取所述待测试网站反馈的错误响应,并检测所述错误响应对应的页面中是否存在字符和所述共有内容页面匹配;
若匹配,则根据所述字符确定所述共有内容页面的中间件特征。
5.如权利要求1所述的Web指纹识别方法,其特征在于,所述总特征包括URL关键特征,
所述获取所述共有内容页面的总特征的步骤,包括:
确定所述待测试网站对应的特征库,并获取所述特征库中的多个预设URL关键字,并在各所述预设URL关键字中确定所述URL对应的目标URL关键字,将所述目标URL关键字作为URL关键特征。
6.如权利要求1所述的Web指纹识别方法,其特征在于,所述对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面的步骤,包括:
获取所述第一响应和所述第二响应之间的所有公共子序列,并根据各所述公共子序列的长度在各所述公共子序列中获取最长公共子序列;
将各所述公共子序列中除最长公共子序列之外的其它公共子序列作为页面动态内容进行删除处理,并将所述最长公共子序列作为所述共有内容页面。
7.如权利要求1-6任一项所述的Web指纹识别方法,其特征在于,所述检测所述hash值是否和预设的历史hash值匹配的步骤之后,包括:
若所述hash值和历史hash值匹配,则获取所述历史hash值对应的旧结果,并将所述旧结果作为所述待测试网站的Web指纹识别结果。
8.一种Web指纹识别装置,其特征在于,所述Web指纹识别装置包括:
发送模块,用于在待测试网站的URL可用时,向所述待测试网站发送第一请求,以获取所述待测试网站反馈的第一响应;
获取模块,用于获取所述第一请求对应的第二请求,将所述第二请求发送至所述待测试网站,以获取所述待测试网站反馈的第二响应,并对所述第一响应和所述第二响应做页面动态内容删除处理,以获取共有内容页面;
检测模块,用于获取所述共有内容页面对应的hash值,并检测所述hash值是否和预设的历史hash值匹配;
识别模块,用于若不匹配,则获取所述共有内容页面的总特征,并根据所述总特征识别所述待测试网站的Web指纹识别结果。
9.一种Web指纹识别设备,其特征在于,所述Web指纹识别设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的Web指纹识别程序,所述Web指纹识别程序被所述处理器执行时实现如权利要求1至7中任一项所述的Web指纹识别方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有Web指纹识别程序,所述Web指纹识别程序被处理器执行时实现如权利要求1至7中任一项所述的Web指纹识别方法的步骤。
CN202010438556.4A 2020-05-21 2020-05-21 Web指纹识别方法、装置、设备及计算机存储介质 Pending CN111597490A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010438556.4A CN111597490A (zh) 2020-05-21 2020-05-21 Web指纹识别方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010438556.4A CN111597490A (zh) 2020-05-21 2020-05-21 Web指纹识别方法、装置、设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN111597490A true CN111597490A (zh) 2020-08-28

Family

ID=72183953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010438556.4A Pending CN111597490A (zh) 2020-05-21 2020-05-21 Web指纹识别方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111597490A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052364A (zh) * 2020-09-27 2020-12-08 深圳前海微众银行股份有限公司 敏感信息检测方法、装置、设备与计算机可读存储介质
CN112434250A (zh) * 2020-12-15 2021-03-02 安徽三实信息技术服务有限公司 一种基于在线网站的cms识别特征规则提取方法
CN117312707A (zh) * 2023-09-05 2023-12-29 东南大学 一种基于动静特征结合的网站指纹生成方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052364A (zh) * 2020-09-27 2020-12-08 深圳前海微众银行股份有限公司 敏感信息检测方法、装置、设备与计算机可读存储介质
WO2022063133A1 (zh) * 2020-09-27 2022-03-31 深圳前海微众银行股份有限公司 敏感信息检测方法、装置、设备与计算机可读存储介质
CN112434250A (zh) * 2020-12-15 2021-03-02 安徽三实信息技术服务有限公司 一种基于在线网站的cms识别特征规则提取方法
CN117312707A (zh) * 2023-09-05 2023-12-29 东南大学 一种基于动静特征结合的网站指纹生成方法

Similar Documents

Publication Publication Date Title
CN111597490A (zh) Web指纹识别方法、装置、设备及计算机存储介质
CN110866198B (zh) 静态资源缓存方法、系统、装置、计算机设备和存储介质
CN109768992B (zh) 网页恶意扫描处理方法及装置、终端设备、可读存储介质
US9164968B2 (en) Techniques for server-side determination of font subsets
WO2011116082A2 (en) Indexing and searching employing virtual documents
CN108256014B (zh) 页面展示方法及装置
US20170017695A1 (en) Question and answer information providing system, information processing device, and non-transitory computer-readable medium
CN110472165B (zh) Url提取方法、装置、设备及计算机可读存储介质
WO2022063133A1 (zh) 敏感信息检测方法、装置、设备与计算机可读存储介质
KR20210097347A (ko) 인공지능 기반 이미지 검색 방법 및 장치
US20210383059A1 (en) Attribution Of Link Selection By A User
WO2020044469A1 (ja) 不正Webページ検出装置、不正Webページ検出装置の制御方法及び制御プログラム
CN114650176A (zh) 钓鱼网站的检测方法、装置、计算机设备及存储介质
CN107786529B (zh) 网站的检测方法、装置及系统
CN108667768B (zh) 一种网络应用指纹的识别方法及装置
CN110555165B (zh) 信息识别方法、装置、计算机设备和存储介质
CN109145581B (zh) 基于浏览器渲染性能的防模拟登录方法、装置及服务器
CN115098151A (zh) 一种细粒度的内网设备固件版本探测方法
US10095791B2 (en) Information search method and apparatus
CN111209325B (zh) 业务系统接口识别方法、装置及存储介质
CN115801455B (zh) 一种基于网站指纹的仿冒网站检测方法及装置
US9843559B2 (en) Method for determining validity of command and system thereof
CN108460116B (zh) 搜索方法、装置、计算机设备、存储介质及搜索系统
CN115437930B (zh) 网页应用指纹信息的识别方法及相关设备
CN115309968A (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