CN114238822A - 一种Web服务设备的识别方法及装置 - Google Patents

一种Web服务设备的识别方法及装置 Download PDF

Info

Publication number
CN114238822A
CN114238822A CN202111396969.1A CN202111396969A CN114238822A CN 114238822 A CN114238822 A CN 114238822A CN 202111396969 A CN202111396969 A CN 202111396969A CN 114238822 A CN114238822 A CN 114238822A
Authority
CN
China
Prior art keywords
web service
device type
access request
value
similarity
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
CN202111396969.1A
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 CN202111396969.1A priority Critical patent/CN114238822A/zh
Publication of CN114238822A publication Critical patent/CN114238822A/zh
Priority to PCT/CN2022/100025 priority patent/WO2023093017A1/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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种Web服务设备的识别方法及装置,该方法包括Web客户端构造用于访问Web服务设备的第一访问请求和至少一个第二访问请求,针对每个第二访问请求的第二响应页面,对第一访问请求的第一响应页面和第二访问请求的第二响应页面进行相似度运算,确定出第一相似度值,若确定第一相似度值大于相似度阈值,则从与第二响应页面匹配的至少一个Web服务设备的设备类型中确定出符合Web服务设备的使用编程语言的第一设备类型,基于第一设备类型,即可准确地确定出Web服务设备的目标设备类型,从而可以有效地提高Web服务设备的设备类型的识别准确性,以此可以有效地降低特征匹配识别时所产生的漏报率、误报率。

Description

一种Web服务设备的识别方法及装置
技术领域
本发明实施例涉及金融科技(Fintech)领域,尤其涉及一种Web服务设备的识别方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。在金融信息安全方面,通常需要远程识别即将访问的网站具体使用了哪种类型的Web服务器,以便进一步对Web服务器进行资产画像和漏洞检测。
现阶段,通常采用两种识别方式对Web服务器的设备类型进行识别。具体来说,第一种识别方式是通过利用Web客户端向Web服务器发起正常访问请求,并对该Web服务器返回的响应页面中Web服务器的设备类型相关信息进行特征匹配识别,以此确定出该Web服务器的设备类型(有些Web服务器会在返回报文的header中的server字段标志Web服务器的设备类型相关信息,有些Web服务器会在返回的响应页面中包含Web服务器的设备类型相关信息)。第二种识别方式是通过在Web客户端构造使Web服务器报错的访问请求(比如在访问请求中构造不存在的访问路径或在访问请求中构造错误参数等),并向Web服务器发起该构造的访问请求,从针对Web服务器返回的报错响应页面中Web服务器的设备类型相关信息进行特征匹配识别,以此确定出Web服务器的设备类型。然而,这两种识别方式由于存在有些Web服务器的运维人员会主动针对Web服务器的设备类型相关信息进行伪造或抹除,因此会使得该两种识别方式在针对Web服务器的设备类型相关信息进行特征匹配确定Web服务器的设备类型时的漏报率高、误报率高。
综上,目前亟需一种Web服务设备的识别方法,用以有效地提高Web服务设备的设备类型的识别准确性。
发明内容
本发明实施例提供了一种Web服务设备的识别方法及装置,用以有效地提高Web服务设备的设备类型的识别准确性。
第一方面,本发明实施例提供了一种Web服务设备的识别方法,包括:
Web客户端构造用于访问Web服务设备的第一访问请求和至少一个第二访问请求;所述第一访问请求用于表征针对所述Web服务设备的访问请求中的可污染参数进行多参数值污染所构造的请求;每个第二访问请求用于表征针对所述Web服务设备的访问请求中的可污染参数未进行污染所构造的请求;
针对每个第二访问请求的第二响应页面,所述Web客户端对所述第一访问请求的第一响应页面和所述第二访问请求的第二响应页面进行相似度运算,确定出第一相似度值;
所述Web客户端若确定所述第一相似度值大于相似度阈值,则从与所述第二响应页面匹配的至少一个所述Web服务设备的设备类型中确定出符合所述Web服务设备的使用编程语言的第一设备类型;
所述Web客户端基于所述第一设备类型,确定出所述Web服务设备的目标设备类型。
上述技术方案中,由于现有技术方案是通过从Web服务器返回的响应页面中获取Web服务器的设备类型相关信息,并对Web服务器的设备类型相关信息进行特征匹配,来确定Web服务器的设备类型,因此若Web服务器的运维人员对Web服务器的设备类型相关信息进行伪造或抹除,或者运维人员对返回的服务器信息字段进行自定义设置,那么通过采用特征匹配识别的方式就不能准确地识别出Web服务器的设备类型。基于此,本发明中的技术方案通过引入参数污染的方式来共同识别Web服务设备的设备类型,可以精确地探测到Web服务设备针对参数污染访问请求的真实响应状态,并根据Web服务设备针对参数污染访问请求的真实响应状态以及Web服务设备针对未进行参数污染的访问请求的真实响应状态,可以准确地识别出Web服务设备的响应行为特征,如此也就可以准确地识别出Web服务设备的设备类型,从而可以有效地提高Web服务设备的设备类型的识别准确性,以此可以有效地降低特征匹配识别时所产生的漏报率、误报率。具体来说,Web客户端构造用于访问Web服务设备的第一访问请求和至少一个第二访问请求;第一访问请求用于表征针对Web服务设备的访问请求中的可污染参数进行多参数值污染所构造的请求;每个第二访问请求用于表征针对Web服务设备的访问请求中的可污染参数未进行污染所构造的请求。再针对每个第二访问请求的第二响应页面,对第一访问请求的第一响应页面和该第二访问请求的第二响应页面进行相似度运算,以此可确定出第一相似度值,并将该第一相似度值与相似度阈值进行比对,即可确定Web服务设备针对第一访问请求的响应行为与针对第二访问请求的响应行为是否相同,从而为初步确定Web服务设备的设备类型提供支持。然后,在确定第一相似度值大于相似度阈值时,可进一步地根据Web服务设备的使用编程语言,从与第二响应页面匹配的至少一个Web服务设备的设备类型中确定出第一设备类型,并基于该第一设备类型,可准确地确定出Web服务设备的目标设备类型,从而可以有效地提高Web服务设备的设备类型的识别准确性,以此可以有效地降低特征匹配识别时所产生的漏报率、误报率。
可选地,所述方法还包括:
所述Web客户端构造用于访问Web服务设备的第三访问请求和第四访问请求;所述第三访问请求用于表征针对所述Web服务设备进行正常访问的请求;所述第四访问请求用于表征针对所述Web服务设备进行异常访问的请求;
所述Web客户端通过对所述第三访问请求的第三响应页面进行特征匹配,确定出所述Web服务设备的第二设备类型,并通过对所述第四访问请求的第四响应页面进行特征匹配,确定出所述Web服务设备的第三设备类型;
所述Web客户端基于所述第一设备类型,确定出所述Web服务设备的目设备标类型,包括:
所述Web客户端根据所述第一设备类型、所述第二设备类型以及所述第三设备类型,确定出所述Web服务设备的目标设备类型。
上述技术方案中,为了能够更准确地识别出Web服务设备的设备类型,本发明中的技术方案通过引入正常访问请求以及异常访问请求的构造,并根据Web服务设备针对该正常访问请求的响应行为,确定出对应的Web服务设备的第二设备类型,以及根据Web服务设备针对该异常访问请求的响应行为,确定出对应的Web服务设备的第三设备类型。然后,结合第一设备类型、第二设备类型以及第三设备类型,即可有助于更为准确地识别出Web服务设备所属的实际设备类型。
可选地,所述Web客户端若确定所述第一相似度值大于相似度阈值,则从与所述第二响应页面匹配的至少一个所述Web服务设备的设备类型中确定出符合所述Web服务设备的使用编程语言的第一设备类型,包括:
所述Web客户端针对第一相似度值大于相似度阈值的第二响应页面,在确定所述第一响应页面中可污染参数的第一参数值与所述第二响应页面中所述可污染参数的第二参数值相同时,从设备类型库中确定出与所述第二参数值匹配的至少一个设备类型;
所述Web客户端根据所述Web服务设备的使用编程语言,从与所述第二参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
上述技术方案中,在确定第一相似度值大于相似度阈值后,可以进一步通过判断第一响应页面中可污染参数的第一参数值与第二响应页面中可污染参数的第二参数值是否相同,来进一步地确定Web服务设备的设备类型范围。如果Web服务设备针对第一访问请求所选择的可污染参数的参数值与针对第二访问请求所选择的可污染参数的参数值相同,且由于Web服务设备针对第二访问请求所选择的可污染参数的参数值是固定的、单一的,因此可以根据各设备类型的Web服务设备针对具有多参数值的可污染参数的历史表现行为数据可确定出选择单一参数值的Web服务设备有哪些设备类型,比如针对具有多参数值的某一可污染参数,可以根据各设备类型的Web服务设备针对具有多参数值的可污染参数的历史表现行为数据,确定出选择该可污染参数的First参数值的Web服务设备有哪些设备类型,以及选择该可污染参数的Last参数值的Web服务设备有哪些设备类型。然后,根据该Web服务设备的使用编程语言,即可更进一步地缩小该Web服务设备的设备类型范围,从而为后续准确地识别出该Web服务设备的实际设备类型提供支持。此外,该方案通过判断第一相似度值是否大于相似度阈值,可以准确地判断第一响应页面是否与第二响应页面大致相同,如此可以直接省去响应页面不相同无需判断第一参数值与第二参数值是否相同的过程,同时也可以减少潜在的漏报(比如参数值不存在,但是响应页面实际上大致相同)。
可选地,所述方法还包括:
所述Web客户端若确定各第二响应页面的第一相似度值均小于等于所述相似度阈值或者第一参数值与第二参数值不相同,则在确定所述第一参数值为各第二参数值的组合时,根据所述各第二参数值构造出用于访问Web服务设备的第五访问请求;
所述Web客户端针对所述第五访问请求的第五响应页面,确定所述第五响应页面与所述第一响应页面的第二相似度值;
所述Web客户端若确定所述第二相似度值大于所述相似度阈值,则从所述设备类型库中确定出与所述第一参数值匹配的至少一个设备类型;
所述Web客户端根据所述Web服务设备的使用编程语言,从与所述第一参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
上述技术方案中,如果确定各第二响应页面的第一相似度值均小于等于所述相似度阈值,或者假设有两个第二响应页面,第一个第二响应页面与第一响应页面的第一相似度值大于相似度阈值,但是第一参数值与第一个第二响应页面中的第二参数值不相同,且第二个第二响应页面与第一响应页面的第一相似度值小于等于相似度阈值,或者第二个第二响应页面与第一响应页面的第一相似度值大于相似度阈值,但是第一参数值与第二个第二响应页面中的第二参数值不相同,则需要判断第一响应页面中的第一参数值是否为各第二参数值的组合,以此来确定Web服务设备的设备类型范围,从而为后续准确地识别出该Web服务设备的实际设备类型提供支持。
可选地,所述方法还包括:
所述Web客户端若确定所述第二相似度值小于等于所述相似度阈值或者所述第一参数值不为各第二参数值的组合,则从各第一相似度值以及所述第二相似度值中确定出最大的相似度值;
所述Web客户端若确定所述最大的相似度值小于所述相似度阈值,则根据所述Web服务设备的使用编程语言,从所述设备类型库中确定出所述Web服务设备的第一设备类型。
上述技术方案中,如果确定第二相似度值小于等于相似度阈值或者第一参数值不为各第二参数值的组合,则需要将各第一相似度值、第二相似度值进行比对,确定出最大的相似度值,并判断该最大的相似度值是否大于相似度值阈值,如果该最大的相似度值小于相似度阈值,则可以根据该Web服务设备的使用编程语言,从设备类型库中初步确定出Web服务设备的第一设备类型,从而为后续准确地识别出该Web服务设备的实际设备类型提供支持。
可选地,所述方法还包括:
所述Web客户端若确定所述最大的相似度值大于等于所述相似度阈值,则在确定所述最大的相似度值为所述各第一相似度值中的任一个时,根据所述Web服务设备的使用编程语言,从与所述第二参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型;或者,在确定所述最大的相似度值为所述第二相似度值时,根据所述Web服务设备的使用编程语言,从与所述第一参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
上述技术方案中,如果最大的相似度值是大于相似度阈值的,则可以将该最大的相似度值与各第一相似度值、第二相似度值进行比对,若确定该最大的相似度值与某一相似度值相同,则可以将该相似度值所对应的设备类型范围作为Web服务设备的设备类型范围,然后,根据Web服务设备的使用编程语言,进一步缩小Web服务设备的设备类型范围,从而可以得到一个范围较小的设备类型范围,如此可以有助于提高后续针对Web服务设备的设备类型的识别效率,并可以为后续更为准确地识别出Web服务设备的设备类型提供支持。
可选地,所述Web客户端对所述第一访问请求的第一响应页面和所述第二访问请求的第二响应页面进行相似度运算,确定出第一相似度值,包括:
所述Web客户端获取所述第一响应页面的页面源码以及所述第二响应页面的页面源码,并分别针对所述第一响应页面的页面源码以及所述第二响应页面的页面源码进行分词处理,确定出所述第一响应页面对应的第一分词集以及所述第二响应页面对应的第二分词集;
所述Web客户端将所述第一分词集中的各第一分词与所述第二分词集中的各第二分词进行合并去重处理,得到第三分词集;
所述Web客户端以所述第三分词集中的每个第三分词作为键,为每个键设置对应的数值,得到键值数据集;
所述Web客户端根据所述键值数据集,将所述第一分词集中的各第一分词转换为对应的数值,得到第一数值集,并将所述第二分词集中的各第二分词转换为对应的数值,得到第二数值集;
所述Web客户端对所述第一数值集进行编码处理,得到第一向量集,并对所述第二数值集进行编码处理,得到第二向量集;
所述Web客户端将所述第一向量集以及所述第二向量集,通过设定的相似度算法,确定出所述第一相似度值。
上述技术方案中,由于响应页面的页面源码能够真实地反映响应页面的实际行为特征,因此通过基于第一响应页面的页面源码以及第二响应页面的页面源码来计算第一响应页面与第二响应页面的相似度值,就可以准确地判断第一响应页面的响应行为与第二响应页面的响应相位是否大致相同,从而可以准确地判断第一响应页面与第二响应页面是否大致相同。
可选地,所述Web客户端根据所述第一设备类型、所述第二设备类型以及所述第三设备类型,确定出所述Web服务设备的目标设备类型,包括:
所述Web客户端若确定所述第一设备类型中仅存在一个子设备类型,则将所述子设备类型确定为所述Web服务设备的目标设备类型;
所述Web客户端若确定所述第一设备类型中存在至少两个子设备类型,则在确定所述第三设备类型存在于所述第一设备类型中时,将所述第三设备类型确定为所述Web服务设备的目标设备类型;或者,在确定所述第三设备类型为空值且确定所述第二设备类型存在于所述第一设备类型中时,将所述第二设备类型确定为所述Web服务设备的目标设备类型。
上述技术方案中,由于Web服务设备的第一设备类型是基于Web服务设备的真实响应行为确定的,该Web服务设备的真实响应行为能够体现Web服务设备针对参数污染访问请求的具体行为特征,而Web服务设备的具体行为特征是无法轻易改变的,比如一个物体所具有的行为特征是不可能轻易改变的,因此具有不可抵赖性,那么所确定出的Web服务设备的第一设备类型相比第二设备类型、第三设备类型更较为准确,更能够体现Web服务设备所属的实际设备类型。所以,本发明中的技术方案通过先判断第一设备类型是否存在多个子设备类型,来进一步准确地确定出Web服务设备的目标设备类型。如果确定第一设备类型中仅存在一个子设备类型,则可以直接将该子设备类型作为Web服务设备的目标设备类型;如果确定第一设备类型中存在多个子设备类型,则需要结合第二设备类型和/或第三设备类型来进一步判断,那么就可以更为准确地确定出Web服务设备的目标设备类型,也即是确定出Web服务设备的真实设备类型。
可选地,所述方法还包括:
所述Web客户端在确定所述第一设备类型中存在至少两个子类型时,若确定所述第二设备类型、所述第三设备类型均为空值或者确定所述第二设备类型、所述第三设备类型均不存在于所述第一设备类型中,则将所述第一设备类型中的任一子类型确定为所述Web服务设备的目标设备类型。
上述技术方案中,在第一设备类型中存在至少两个子类型的前提条件下,如果确定第二设备类型、第三设备类型均为空值或第二设备类型、第三设备类型均不存在于第一设备类型中,且由于第一设备类型能够更为准确地反映出Web服务设备的实际设备类型,因此可以直接将第一设备类型中的任一子设备类型作为Web服务设备的目标设备类型。
第二方面,本发明实施例还提供了一种Web服务设备的识别装置,包括:
构造单元,用于构造用于访问Web服务设备的第一访问请求和至少一个第二访问请求;所述第一访问请求用于表征针对所述Web服务设备的访问请求中的可污染参数进行多参数值污染所构造的请求;每个第二访问请求用于表征针对所述Web服务设备的访问请求中的可污染参数未进行污染所构造的请求;
处理单元,用于针对每个第二访问请求的第二响应页面,对所述第一访问请求的第一响应页面和所述第二访问请求的第二响应页面进行相似度运算,确定出第一相似度值;若确定所述第一相似度值大于相似度阈值,则从与所述第二响应页面匹配的至少一个所述Web服务设备的设备类型中确定出符合所述Web服务设备的使用编程语言的第一设备类型;基于所述第一设备类型,确定出所述Web服务设备的目标设备类型。
可选地,所述处理单元还用于:
构造用于访问Web服务设备的第三访问请求和第四访问请求;所述第三访问请求用于表征针对所述Web服务设备进行正常访问的请求;所述第四访问请求用于表征针对所述Web服务设备进行异常访问的请求;
通过对所述第三访问请求的第三响应页面进行特征匹配,确定出所述Web服务设备的第二设备类型,并通过对所述第四访问请求的第四响应页面进行特征匹配,确定出所述Web服务设备的第三设备类型;
所述处理单元具体用于:
根据所述第一设备类型、所述第二设备类型以及所述第三设备类型,确定出所述Web服务设备的目标设备类型。
可选地,所述处理单元具体用于:
针对第一相似度值大于相似度阈值的第二响应页面,在确定所述第一响应页面中可污染参数的第一参数值与所述第二响应页面中所述可污染参数的第二参数值相同时,从设备类型库中确定出与所述第二参数值匹配的至少一个设备类型;
根据所述Web服务设备的使用编程语言,从与所述第二参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
可选地,所述处理单元还用于:
若确定各第二响应页面的第一相似度值均小于等于所述相似度阈值或者第一参数值与第二参数值不相同,则在确定所述第一参数值为各第二参数值的组合时,根据所述各第二参数值构造出用于访问Web服务设备的第五访问请求;
针对所述第五访问请求的第五响应页面,确定所述第五响应页面与所述第一响应页面的第二相似度值;
若确定所述第二相似度值大于所述相似度阈值,则从所述设备类型库中确定出与所述第一参数值匹配的至少一个设备类型;
根据所述Web服务设备的使用编程语言,从与所述第一参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
可选地,所述处理单元还用于:
若确定所述第二相似度值小于等于所述相似度阈值或者所述第一参数值不为各第二参数值的组合,则从各第一相似度值以及所述第二相似度值中确定出最大的相似度值;
若确定所述最大的相似度值小于所述相似度阈值,则根据所述Web服务设备的使用编程语言,从所述设备类型库中确定出所述Web服务设备的第一设备类型。
可选地,所述处理单元还用于:
若确定所述最大的相似度值大于等于所述相似度阈值,则在确定所述最大的相似度值为所述各第一相似度值中的任一个时,根据所述Web服务设备的使用编程语言,从与所述第二参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型;或者,在确定所述最大的相似度值为所述第二相似度值时,根据所述Web服务设备的使用编程语言,从与所述第一参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
可选地,所述处理单元具体用于:
获取所述第一响应页面的页面源码以及所述第二响应页面的页面源码,并分别针对所述第一响应页面的页面源码以及所述第二响应页面的页面源码进行分词处理,确定出所述第一响应页面对应的第一分词集以及所述第二响应页面对应的第二分词集;
将所述第一分词集中的各第一分词与所述第二分词集中的各第二分词进行合并去重处理,得到第三分词集;
以所述第三分词集中的每个第三分词作为键,为每个键设置对应的数值,得到键值数据集;
根据所述键值数据集,将所述第一分词集中的各第一分词转换为对应的数值,得到第一数值集,并将所述第二分词集中的各第二分词转换为对应的数值,得到第二数值集;
对所述第一数值集进行编码处理,得到第一向量集,并对所述第二数值集进行编码处理,得到第二向量集;
将所述第一向量集以及所述第二向量集,通过设定的相似度算法,确定出所述第一相似度值。
可选地,所述处理单元具体用于:
若确定所述第一设备类型中仅存在一个子设备类型,则将所述子设备类型确定为所述Web服务设备的目标设备类型;
若确定所述第一设备类型中存在至少两个子设备类型,则在确定所述第三设备类型存在于所述第一设备类型中时,将所述第三设备类型确定为所述Web服务设备的目标设备类型;或者,在确定所述第三设备类型为空值且确定所述第二设备类型存在于所述第一设备类型中时,将所述第二设备类型确定为所述Web服务设备的目标设备类型。
可选地,所述处理单元还用于:
在确定所述第一设备类型中存在至少两个子类型时,若确定所述第二设备类型、所述第三设备类型均为空值或者确定所述第二设备类型、所述第三设备类型均不存在于所述第一设备类型中,则将所述第一设备类型中的任一子类型确定为所述Web服务设备的目标设备类型。
第三方面,本发明实施例提供一种计算设备,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述第一方面任意所述的Web服务设备的识别方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述第一方面任意所述的Web服务设备的识别方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种Web服务设备的识别方法的流程示意图;
图2为本发明实施例提供的一种确定Web服务器的设备类型C的流程示意图;
图3为本发明实施例提供的一种确定Web服务设备的目标设备类型的流程示意图;
图4为本发明实施例提供的一种Web服务设备的识别装置的结构示意图;
图5为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面首先对本发明实施例中涉及的部分用语进行解释说明,以便于本领域技术人员进行理解。
(1)Web(World Wide Web,万维网)服务器:也称为WWW服务器,一般指网站服务器,主要提供网上信息浏览、下载服务,可以处理浏览器等Web客户端的请求并返回相应的响应。其中,常见的Web服务器的设备类型有Apache、IIS、Tomcat等。
(2)HTTP(HyperText Transfer Protocol,超文本传输协议):是一个简单的请求-响应协议,它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
(3)HTTP参数污染(HTTP Parameter Pollution):是一种常见的绕过安全设备的攻击手段。该问题主要由于现行的HTTP标准未定义Web服务器在面对一个参数拥有多个值的情况下,该选用哪一个作为该参数的最终值;导致不同的WEB服务器在遇到一个参数多值场景下,出现了不同的处理方式,从而通过HTTP参数污染可以得出后端Web服务器的设备类型。
(4)One-Hot编码:又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都有他独立的寄存器位,并且在任意时候只有一位有效。
如上介绍了本发明实施例中涉及的部分用语,下面对本发明实施例涉及的技术特征进行介绍。
图1示例性的示出了本发明实施例提供的一种Web服务设备的识别方法的流程,该流程可以由Web服务设备的识别装置执行。
如图1所示,该流程具体包括:
步骤101,Web客户端构造用于访问Web服务设备的第一访问请求和至少一个第二访问请求。
本发明实施例中,Web客户端构造出针对Web服务设备的Web页面中可被污染的某一参数进行参数污染后所形成的第一访问请求,同时构造出针对Web服务设备的至少一个Web页面分别进行访问所形成的至少一个第二访问请求。其中,第一访问请求用于表征针对Web服务设备的访问请求中的可污染参数进行多参数值污染所构造的请求;每个第二访问请求用于表征针对Web服务设备的访问请求中的可污染参数未进行污染所构造的请求。而且,为了能够更准确地识别出Web服务设备的设备类型,本发明中的技术方案通过引入正常访问请求以及异常访问请求的构造,即构造用于访问Web服务设备的第三访问请求和第四访问请求。其中,第三访问请求用于表征针对Web服务设备进行正常访问的请求;第四访问请求用于表征针对Web服务设备进行异常访问的请求。然后,Web客户端在构造出各访问请求后,会分别向Web服务设备发起各访问请求,Web服务设备在接收到每个访问请求后,会针对该访问请求进行处理,并返回相应的响应页面。其中,Web服务设备在接收到第三访问请求后,即会针对该第三访问请求进行处理,返回一个第三响应页面展示在Web客户端,以及Web服务设备在接收到一个第四访问请求后,即会针对该第四访问请求进行处理,返回一个第四响应页面展示在Web客户端。Web客户端通过对第三访问请求的第三响应页面进行特征匹配,确定出Web服务设备的第二设备类型,并通过对第四访问请求的第四响应页面进行特征匹配,确定出Web服务设备的第三设备类型。
示例性地,在需要针对某一Web服务器的设备类型进行识别时,会通过在该Web服务器所对应的Web客户端先构造一定数量的访问请求,比如第一个是对该Web服务器的默认页面进行访问的访问请求A,也即是通过该Web服务器的默认网址,比如URL(UniformResource Locator,统一资源定位符),进行正常访问该Web服务器。第二个是构造使Web服务器报错的访问请求B,也即是异常访问请求B,比如通过在Web服务器的某一URL中构造不存在的访问路径、加入非法的参数或构造非法的协议字段等可以引发在访问该Web服务器时会出现报错的响应页面,或者预先构造一个携带有非真实信息的URL进行访问该Web服务器,如此也会使得在访问该Web服务器时出现报错的响应页面。第三个是构造一个对Web服务器的Web页面中的某一参数进行参数污染后所形成的访问请求,以及构造至少一个针对该Web服务器的至少一个Web页面分别进行正常访问的请求。具体地,对该Web服务器的进行Web页面爬取操作,以此获取该Web服务器的各Web页面的相关参数信息,同时可以获取该Web服务器的各Web页面的URL,并从各Web页面的相关参数信息中识别出可被HTTP参数污染利用的参数进行参数污染,比如页面page参数或ID(Identification,标识)参数等。再针对该参数进行参数污染后构造一个新的URL,用于向该Web服务器发起访问请求,比如访问请求C,并在该Web服务器所对应的Web客户端输入该新的URL进行访问该Web服务器,同时也会通过该Web服务器的各Web页面的URL分别向该Web服务器发起访问请求,比如访问请求D和访问请求E。比如,以page参数作为可被参数污染的参数进行污染为例,假设该Web服务器有两个Web页面,即第一个Web页面的URL1为https://example.com/i.php?page=1,第二个Web页面的URL2为https://example.com/i.php?page=2,其中,page参数为可被HTTP参数污染利用的参数。通过对page参数进行参数污染后,形成新的page参数为page=1&page=2,并基于该新的page参数可构造出一个新的URL,即URL3,该URL3为https://example.com/i.php?page=1&page=2,通过该URL3进行访问该Web服务器。
步骤102,针对每个第二访问请求的第二响应页面,所述Web客户端对所述第一访问请求的第一响应页面和所述第二访问请求的第二响应页面进行相似度运算,确定出第一相似度值。
本发明实施例中,Web服务设备在接收到第一访问请求后,即会针对该第一访问请求进行处理,返回一个第一响应页面展示在Web客户端,而且Web服务设备在接收到一个第二访问请求后,即会针对该第二访问请求进行处理,返回一个第二响应页面展示在Web客户端。针对每个第二访问请求的第二响应页面,Web客户端获取第一响应页面的页面源码以及该第二响应页面的页面源码,并针对第一响应页面的页面源码进行分词处理,即可得到第一响应页面对应的第一分词集,以及对第二响应页面的页面源码进行分词处理,即可得到第二响应页面对应的第二分词集。再通过将第一分词集中的各第一分词与第二分词集中的各第二分词进行合并去重处理,即可得到第三分词集,并以第三分词集中的每个第三分词作为键,为每个键设置对应的数值,得到键值数据集。然后,根据键值数据集,将第一分词集中的各第一分词转换为对应的数值,得到第一数值集,并将第二分词集中的各第二分词转换为对应的数值,得到第二数值集,并对第一数值集进行编码处理,得到第一向量集,以及对第二数值集进行编码处理,得到第二向量集。最后,通过设定的相似度算法,对第一向量集和第二向量集进行相似度计算,即可计算出第一响应页面与该第二响应页面的第一相似度值。如此,由于响应页面的页面源码能够真实地反映响应页面的实际行为特征,因此该方案通过基于第一响应页面的页面源码以及第二响应页面的页面源码来计算第一响应页面与第二响应页面的相似度值,就可以准确地判断第一响应页面的响应行为与第二响应页面的响应相位是否大致相同,从而可以准确地判断第一响应页面与第二响应页面是否大致相同。
步骤103,所述Web客户端若确定所述第一相似度值大于相似度阈值,则从与所述第二响应页面匹配的至少一个所述Web服务设备的设备类型中确定出符合所述Web服务设备的使用编程语言的第一设备类型。
本发明实施例中,在第一相似度值大于相似度阈值的前提下,针对第一相似度值大于相似度阈值的第二响应页面,在确定第一响应页面中可污染参数的第一参数值与第二响应页面中可污染参数的第二参数值相同时,且由于Web服务设备针对第二访问请求所选择的可污染参数的参数值是固定的、单一的,因此可以从设备类型库中确定出与第二参数值匹配的至少一个设备类型。然后,根据Web服务设备的使用编程语言,从与第二参数值匹配的至少一个设备类型中确定出Web服务设备的第一设备类型,以此可进一步地缩小该Web服务设备的设备类型范围,从而为后续准确地识别出该Web服务设备的实际设备类型提供支持。其中,设备类型库用于存储各参数值(比如First参数值和/或Last参数值)以及参数值对应的设备类型和使用编程语言,比如针对具有多参数值的某一可污染参数,可以根据各设备类型的Web服务设备针对具有多参数值的可污染参数的历史表现行为数据,确定出选择该可污染参数的First参数值的Web服务设备有哪些设备类型,以及选择该可污染参数的Last参数值的Web服务设备有哪些设备类型,或者选择该可污染参数的All参数值(包含First参数值和Last参数值)的Web服务设备有哪些设备类型。其中,相似度阈值可以根据本领域技术人员的经验或根据技术方案的具体应用场景进行设置,本发明实施例对此并不作限定。
如果确定各第二响应页面的第一相似度值均小于等于所述相似度阈值,或者假设有两个第二响应页面,第一个第二响应页面与第一响应页面的第一相似度值大于相似度阈值,但是第一参数值与第一个第二响应页面中的第二参数值不相同,且第二个第二响应页面与第一响应页面的第一相似度值小于等于相似度阈值,或者第二个第二响应页面与第一响应页面的第一相似度值大于相似度阈值,但是第一参数值与第二个第二响应页面中的第二参数值不相同,则需要判断第一响应页面中的第一参数值是否为各第二参数值的组合,以此来确定Web服务设备的设备类型范围。如果第一参数值为各第二参数值的组合,则可以根据各第二参数值构造出用于访问Web服务设备的第五访问请求,并向Web服务设备发起该第五访问请求。Web服务设备在接收到该第五访问请求后,即会针对该第五访问请求进行处理,返回一个第五响应页面展示在Web客户端。Web客户端针对第五访问请求的第五响应页面,通过设定的相似度算法,确定第五响应页面与第一响应页面的第二相似度值。如果确定第二相似度值大于相似度阈值,则从设备类型库中确定出与第一参数值(多个第二参数值的组合)匹配的至少一个设备类型。比如Web服务设备选择该可污染参数的All参数值(包含First参数值和Last参数值)作为最终处理的参数值,则根据该All参数值即可根据各设备类型的Web服务设备针对具有多参数值的可污染参数的历史表现行为数据,确定出选择该可污染参数的All参数值的Web服务设备有哪些设备类型。然后,根据该Web服务设备的使用编程语言,即可更进一步地缩小该Web服务设备的设备类型范围,也即是从与第一参数值匹配的至少一个设备类型中确定出Web服务设备的第一设备类型,从而为后续准确地识别出该Web服务设备的实际设备类型提供支持。此外,如果确定第二相似度值小于等于相似度阈值或者第一参数值不为各第二参数值的组合,则需要将各第一相似度值、第二相似度值进行比对,确定出最大的相似度值,并判断该最大的相似度值是否大于相似度值阈值,如果该最大的相似度值小于相似度阈值,则可以根据该Web服务设备的使用编程语言,从设备类型库中初步确定出Web服务设备的第一设备类型。如果确定该最大的相似度值大于等于相似度阈值,则可以将该最大的相似度值与各第一相似度值、第二相似度值进行比对,若确定该最大的相似度值与某一相似度值(比如各相似度值中的任一个或第二相似度值)相同,则可以将该相似度值所对应的设备类型范围作为Web服务设备的设备类型范围。然后,根据Web服务设备的使用编程语言,进一步缩小Web服务设备的设备类型范围,从而可以得到一个范围较小的设备类型范围。比如,如果该最大的相似度值为各第一相似度值中的任一个,则可以根据Web服务设备的使用编程语言,从与第二参数值匹配的至少一个设备类型中确定出Web服务设备的第一设备类型;或者,如果确定该最大的相似度值为第二相似度值,根据所述Web服务设备的使用编程语言,从与第一参数值匹配的至少一个设备类型中确定出Web服务设备的第一设备类型。如此,该方案可以有助于提高后续针对Web服务设备的设备类型的识别效率,并可以为后续更为准确地识别出Web服务设备的设备类型提供支持。
示例性地,继续以上述Web服务器有两个Web页面为例,且假设page参数作为可被污染的参数,某一用户可以在Web客户端所提供的URL输入界面,输入用于访问Web服务器的默认URL,也即是向该Web服务器发起访问请求A,该Web服务器在接收到该访问请求A后,对该访问请求A进行处理,并返回针对该访问请求A的响应页面在Web客户端进行展示,此时可以通过针对返回的响应页面进行特征匹配处理,即可得到Web服务器的设备类型A,比如从该Web服务器所返回的响应报文的header中获取server字段对应的值,该值即为Web服务器的设备类型A。同时,也在Web客户端所提供的URL输入界面,输入Web服务器报错的URL,也即是向该Web服务器发起访问请求B,该Web服务器在接收到该访问请求B后,对该访问请求B进行处理,并返回针对该访问请求B的错误响应页面在Web客户端进行展示,此时可以通过针对返回的错误响应页面进行特征匹配处理,即可得到Web服务器的设备类型B。以及,在Web客户端所提供的URL输入界面,分别输入该Web服务器的各Web页面(比如两个Web页面)的URL,比如URL1、URL2,也即是向该Web服务器发起访问请求D和访问请求E,该Web服务器在接收到该访问请求D后,对该访问请求D进行处理,并返回针对该访问请求D的响应页面1在Web客户端进行展示,同时也会在接收到该访问请求E后,对该访问请求E进行处理,并返回针对该访问请求E的响应页面2在Web客户端进行展示,此时通过针对该访问请求D的响应页面1可以获取该响应页面1的Page参数值1,通过针对该访问请求E的响应页面2可以获取该响应页面2的Page参数值2。而且,也会在Web客户端所提供的URL输入界面,输入经过参数污染后所构造的一个新的URL,比如URL3,也即是向该Web服务器发起访问请求C,该Web服务器在接收到该访问请求C后,对该访问请求C进行处理,并返回针对该访问请求C的响应页面3在Web客户端进行展示,此时通过针对该访问请求C的响应页面3可以获取该响应页面3的Page参数值3,该响应页面3的page参数值3可能是单一的,也可能是多个page参数值的组合,比如可能是由Page参数值1和Page参数值2所构成的组合。然后,通过针对响应页面1、响应页面2以及响应页面3进行相似度运算,并结合Web服务器所使用的编程语言,即可得到Web服务器的设备类型C。
下面结合图2,对本发明实施例中通过响应页面1、响应页面2以及响应页面3进行相似度运算来确定Web服务器的设备类型C的实施过程进行具体描述。其中,图2为本发明实施例提供的一种确定Web服务器的设备类型C的流程示意图。
步骤201,获取针对URL1的响应页面1、针对URL2的响应页面2以及针对URL3的响应页面3。
在通过Web客户端分别输入URL1、URL2以及URL3获取响应页面1、响应页面2以及响应页面3后,基于响应页面1中的相关信息确定出响应页面1的page参数值1,基于响应页面2中的相关信息确定出响应页面2的page参数值2,以及基于响应页面3中的相关信息确定出响应页面3的page参数值3。其中,响应页面1的page参数值1是单一的,响应页面2的page参数值2是单一的,响应页面3的page参数值3可能是单一的,也可能是多个page参数值的组合。同时可以通过相似度算法(比如欧几里得距离算法、皮尔逊相关系数算法或者余弦相似度算法等)进行Web响应页面相似度运算,比如可以计算出响应页面1与响应页面3的相似度值或响应页面2与响应页面3的相似度值等。
步骤202,确定响应页面1与响应页面3的相似度值a1是否大于相似度阈值。若是,则执行步骤203;若否,则执行步骤204。
作为一种示例,以余弦相似度算法为例,通过余弦相似度算法对响应页面1与响应页面3进行相似度运算,可以计算出响应页面1与响应页面3的相似度值a1。然后,判断该相似度值a1是否大于相似度阈值。如果该相似度值a1大于相似度阈值,执行步骤203;如果该相似度值a1小于等于相似度阈值,执行步骤204。其中,相似度阈值的范围可以为0~1,相似度值越趋近于1代表相似度越高,相似度值越趋近于0代表相似度越低,比如设置一个相似度阈值为0.7或0.75等,或者,可以根据本领域技术人员的经验或根据本发明实施例的实际应用场景设置一个具体的相似度阈值,比如设置为0.75或者0.8等,本发明实施例对此不做限定。
步骤203,确定响应页面1的page参数值1与响应页面3的page参数值3是否相同。若是,则执行步骤204;若否,则执行步骤205。
步骤204,从Web服务器设备类型库中确定出与page参数值1匹配的Web服务器的设备类型集1。
如果确定响应页面1的page参数值1与响应页面3的page参数值3相同,则可以说明Web服务器选择了page参数的一个参数值作为最终的处理参数值,此时可以从如表1所示的Web服务器设备类型库中确定出一个参数值所对应的至少一个Web服务器的设备类型,比如针对具有多个参数值的page参数,Web服务器选择了该page参数的First参数值作为最终的处理参数值,或者,Web服务器选择了该page参数的Last参数值作为最终的处理参数值,那么就可以从Web服务器设备类型库获取到Web服务器的设备类型集1。比如,假设page参数值1是page参数的First参数值,也即是Web服务器选择了该page参数的First参数值作为最终的处理参数值,该设备类型集1包括{JSP/Tomcat,Perl(CGI)/Apache}。需要说明的是,表1仅是一种简单的示例,是为了便于说明本发明实施例中的技术方案,并不构成对本发明实施例中的技术方案的限定。
表1
Figure BDA0003370662570000221
针对表1,当特定的Web服务器与网站编程语言结合时会出现不同的HTTP参数污染表现行为,比如表1中的Apache服务器,以PHP作为网站编程语言,则将取同一参数的Last参数值作为该参数的最终值,而以Perl作为网站编程语言,则将取同一参数的First参数值作为该参数的最终值。比如,以上述示例的URL3为例,假设Web服务器的设备类型为IIS,若该Web服务器的网站编程语言为ASP,则该Web服务器后端所获得的page参数的参数值为1,2(为多个page参数值的组合)。或者,假设Web服务器的设备类型为Apache,若该Web服务器的网站编程语言为PHP,则该Web服务器后端将会取page参数的最后一个参数值作为最终值进行处理。如此,利用这种差异,即可获取某一Web服务器的设备类型范围,而无需依赖特征匹配进行识别。
步骤205,确定响应页面2与响应页面3的相似度值a2是否大于相似度阈值。若是,则执行步骤206;若否,则执行步骤207。
作为一种示例,以余弦相似度算法为例,通过余弦相似度算法对响应页面2与响应页面3进行相似度运算,可以计算出响应页面2与响应页面3的相似度值a2。然后,判断该相似度值a2是否大于相似度阈值。如果该相似度值a2大于相似度阈值,执行步骤206;如果该相似度值a2小于等于相似度阈值,执行步骤207。
步骤206,确定响应页面2的page参数值2与响应页面3的page参数值3是否相同。若是,则执行步骤207;若否,则执行步骤208。
步骤207,从Web服务器设备类型库中确定出与page参数值2匹配的Web服务器的设备类型集2。
如果确定响应页面2的page参数值2与响应页面3的page参数值3相同,则可以说明Web服务器选择了page参数的一个参数值作为最终的处理参数值,此时可以从如表1所示的Web服务器设备类型库中确定出一个参数值所对应的至少一个Web服务器的设备类型,比如针对具有多个参数值的page参数,Web服务器选择了该page参数的Last参数值作为最终的处理参数值,或者,Web服务器选择了该page参数的First参数值作为最终的处理参数值,那么就可以从Web服务器设备类型库获取到Web服务器的设备类型集2。比如,假设page参数值2是page参数的Last参数值,也即是Web服务器选择了该page参数的Last参数值作为最终的处理参数值,该设备类型集2包括{PHP/Apache}。
步骤208,确定响应页面3的page参数值3是否为page参数值1和page参数值2的组合。若是,则执行步骤209;若否,则执行步骤212。
如果响应页面3的page参数值3存在多个子参数值,且确定该多个子参数值是由page参数值1和page参数值2的组合构成的,则通过该page参数值1和page参数值2,构造出一个用于访问Web服务器的URL4,并在Web客户端输入该URL4后即可获取针对该URL4的响应页面4。如果响应页面3的page参数值3是单一数值,或者响应页面3的page参数值3存在多个子参数值,但是该多个子参数值并不是由page参数值1和page参数值2的组合构成的,则执行步骤212。
步骤209,根据page参数值1和page参数值2,构造出用于访问Web服务器的URL4,并获取针对该URL4的响应页面4。
步骤210,确定响应页面3与响应页面4的相似度值a3是否大于相似度阈值。若是,则执行步骤;若否,则执行步骤。
作为一种示例,以余弦相似度算法为例,通过余弦相似度算法对响应页面3与响应页面4进行相似度运算,可以计算出响应页面3与响应页面4的相似度值a3。然后,判断该相似度值a3是否大于相似度阈值。如果该相似度值a3大于相似度阈值,执行步骤211;如果该相似度值a3小于等于相似度阈值,执行步骤212。
步骤211,从Web服务器设备类型库中确定出与page参数值3匹配的Web服务器的设备类型集3。
如果相似度值a3大于相似度阈值,则可以说明Web服务器选择了page参数的多参数值作为最终的处理参数值,此时可以从如表1所示的Web服务器设备类型库中确定出多参数值所对应的至少一个Web服务器的设备类型,比如针对具有多个参数值的page参数,Web服务器选择了该page参数的All参数值作为最终的处理参数值,那么就可以从Web服务器设备类型库获取到Web服务器的设备类型集3,该设备类型集3包括{ASP/IIS,Python/Apache}。
步骤212,将相似度值a1、相似度值a2和相似度值a3进行比对,确定出最大的相似度值a0。
步骤213,确定最大的相似度值a0是否大于相似度阈值。若是,则执行步骤215;若否,则执行步骤214。
步骤214,根据Web服务器所使用的编程语言,从Web服务器设备类型库中确定出Web服务器的设备类型C。
步骤215,若确定最大的相似度值a0等于相似度值a1,则确定Web服务器的设备类型集为设备类型集1,若确定最大的相似度值a0等于相似度值a2,则Web服务器的设备类型集为设备类型集2,若确定最大的相似度值a0等于相似度值a3,则确定Web服务器的设备类型集为设备类型集3。
步骤216,根据Web服务器所使用的编程语言,分别从设备类型集1、设备类型集2或设备类型集3中确定出Web服务器的设备类型C。
在确定出设备类型集1后,可以根据Web服务器所使用的编程语言,从设备类型集1中确定出Web服务器的设备类型C。比如,假设Web服务器所使用的编程语言为JSP,则可以从设备类型集1中确定出Web服务器的设备类型C为Tomcat。或者,在确定出设备类型集2后,可以根据Web服务器所使用的编程语言,从设备类型集2中确定出Web服务器的设备类型C。比如,假设Web服务器所使用的编程语言为PHP,则可以从设备类型集2中确定出Web服务器的设备类型C为Apache。或者,在确定出设备类型集3后,可以根据Web服务器所使用的编程语言,从设备类型集3中确定出Web服务器的设备类型C。比如,假设Web服务器所使用的编程语言为ASP,则可以从设备类型集3中确定出Web服务器的设备类型C为IIS。
其中,作为一种示例,下面以计算响应页面1与响应页面3的相似度值为例,对确定响应页面之间的相似度值的具体实施过程进行描述。
步骤a,获取响应页面1的页面源码1以及响应页面3的页面源码3。
示例性地,假设获取的页面源码1为:
<html>
<head>
<title>test1</title>
</head>
<body>
Just a test1
</body>
</html>
并假设页面源码3为:
<html>
<head>
<title>test2</title>
</head>
<body>
Just a test2
</body>
</html>
步骤b,对页面源码1进行分词处理,得到响应页面1对应的分词集1,并对页面源码3进行分词处理,得到响应页面3对应的分词集3。
其中,针对页面源码进行分词处理主要依据html标签以及页面源码的中间实体进行。通过针对页面源码1进行分词处理后,即可得到分词集1=[<html>,<head>,<title>,test1,</title>,</head>,<body>,Just a test1,</body>,</html>],并通过针对页面源码2进行分词处理后,即可得到分词集2=[<html>,<head>,<title>,test2,</title>,</head>,<body>,Just a test2,</body>,</html>]。
步骤c,对分词集1和分词集3进行合并去重处理,得到合并后的分词集list。
示例性地,将上述的分词集1和分词集3进行合并去重处理后,即可得到合并去重后的分词集list,即该分词集list1=[<html>,<head>,<title>,test1,test2,</title>,</head>,<body>,Just a test1,Just a test2,</body>,</html>]。再将该分词集list1进行随机排序,即可得到排序后的分词集list2,比如该分词集list2=[test1,test2,just atest1,just a test2,<html>,<head>,<title>,</title>,</head>,<body>,</body>,</html>]。然后,将排序后的分词集list2转换为键值对格式的分词集dict,即,以分词集list2中的每个分词作为键key,以分词集list2中的每个分词在该分词集list2中出现的位置顺序作为值value,如此即可得到分词集dict=[test1:0,test2:1,just a test1:2,just a test2:3,<html>:4,<head>:5,<title>:6,</title>:7,</head>:8,<body>:9,</body>:10,</html>:11]。或者,也可以不对分词集list1进行随机排序,直接以合并去重所得到的分词集进行键值对格式的转换处理,得到一个分词集dict。
步骤d,按照转换处理后所得到的键值对格式的分词集dict,分别将分词集1和分词集3中的各分词转换为对应的值value。
示例性地,以上述所得到的分词集dict=[test1:0,test2:1,just a test1:2,justa test2:3,<html>:4,<head>:5,<title>:6,</title>:7,</head>:8,<body>:9,</body>:10,</html>:11]为例,按照该分词集dict,将分词集1中的各分词转换为对应的值value,即新的分词集1=[4,5,6,0,7,8,9,2,10,11],并将分词集3中的各分词转换为对应的值value,即新的分词集3=[4,5,6,1,7,8,9,3,10,11]。
步骤e,对新的分词集1进行编码处理,得到向量集vector1,并对新的分词集3进行编码处理,得到向量集vector3。
示例性地,以对分词集进行编码所使用的编码算法为one-hot编码为例,对新的分词集1进行one-hot编码处理,得到向量集vector1,该向量集vector1=[1,0,1,0,1,1,1,1,1,1,1,1]。对新的分词集3进行one-hot编码处理,得到向量集vector3,该向量集vector3=[0,1,0,1,1,1,1,1,1,1,1,1]。
步骤f,对响应页面1对应的向量集vector1和响应页面3对应的向量集vector3进行相似度运算,即可得到响应页面1与响应页面3的相似度值。
示例性地,以所采用的相似度算法为余弦相似度算法为例,采用该余弦相似度算法对上述的向量集vector1和向量集vector3进行相似度计算,即可得到相似度值cos(θ),即:
Figure BDA0003370662570000271
如此,可得到响应页面1与响应页面3的相似度值为0.8,假设相似度阈值为0.75,则可以得到0.8大于0.75,因此可以确定响应页面1与响应页面3的相似度值大于相似度阈值。
步骤104,所述Web客户端基于所述第一设备类型,确定出所述Web服务设备的目标设备类型。
本发明实施例中,为了能够更准确地识别出Web服务设备的设备类型,本发明中的技术方案除了构造针对Web服务设备的Web页面中可被污染的某一参数进行参数污染后所形成的第一访问请求,同时构造出针对Web服务设备的至少一个Web页面分别进行访问所形成的至少一个第二访问请求,还会构造针对Web服务设备的默认Web页面进行正常访问的请求以及针对Web服务设备进行异常访问的请求,通过综合针对各访问请求所反映的响应页面的特征信息,能够更为准确地确定Web服务设备的目标设备类型。然后,综合第一设备类型、第二设备类型以及第三设备类型,即可更为准确地识别出Web服务设备所属的实际设备类型。具体地,由于Web服务设备的第一设备类型是基于Web服务设备的真实响应行为确定的,该Web服务设备的真实响应行为能够体现Web服务设备针对参数污染访问请求的具体行为特征,而Web服务设备的具体行为特征是无法轻易改变的,比如一个物体所具有的行为特征是不可能轻易改变的,因此具有不可抵赖性,那么所确定出的Web服务设备的第一设备类型相比第二设备类型、第三设备类型更较为准确,更能够体现Web服务设备所属的实际设备类型。所以,本发明中的技术方案通过先判断第一设备类型是否存在多个子设备类型,来进一步准确地确定出Web服务设备的目标设备类型。Web客户端如果第一设备类型中仅存在一个子设备类型,则可以直接将该子设备类型作为Web服务设备的目标设备类型;如果确定第一设备类型中存在多个子设备类型,则在确定第三设备类型存在于第一设备类型中时,将第三设备类型确定为Web服务设备的目标设备类型;或者,在确定第三设备类型为空值且确定第二设备类型存在于第一设备类型中时,将第二设备类型确定为Web服务设备的目标设备类型。此外,在第一设备类型中存在至少两个子类型的前提条件下,如果确定第二设备类型、第三设备类型均为空值或第二设备类型、第三设备类型均不存在于第一设备类型中,且由于第一设备类型能够更为准确地反映出Web服务设备的实际设备类型,因此可以直接将第一设备类型中的任一子设备类型作为Web服务设备的目标设备类型。
下面结合图3,以上述所确定的设备类型A、设备类型B和设备类型C为例,对本发明实施例中确定Web服务设备的目标设备类型的实施过程进行描述。其中,图3为本发明实施例提供的一种确定Web服务设备的目标设备类型的流程示意图。
步骤301,确定设备类型C中是否仅存在一个子设备类型。若是,则执行步骤302;若否,则执行步骤303。
步骤302,将设备类型C中仅存在的子设备类型确定为Web服务设备的目标设备类型。
如果确定设备类型C中仅存在一个子设备类型,则说明通过HTTP参数污染方式所获得的Web服务设备的设备类型是唯一的,因此可以将该唯一的设备类型作为Web服务设备的目标设备类型。
步骤303,确定设备类型B是否不为空。若是,则执行步骤304;若否,则执行步骤306。
判断设备类型B是否为空值,如果不是空值,则执行步骤304,如果是空值,则执行步骤306。
步骤304,确定设备类型B是否存在于设备类型C中。若是,则执行步骤305;若否,则执行步骤306。
如果确定设备类型C中存在多个子设备类型,则在确定设备类型B不是空值时,判断该设备类型C中是否存在设备类型B。
步骤305,将设备类型B确定为Web服务设备的目标设备类型。
步骤306,确定设备类型A是否不为空。若是,则执行步骤307;若否,则执行步骤309。
判断设备类型A是否为空值,如果不是空值,则执行步骤307,如果是空值,则执行步骤309。
步骤307,确定设备类型A是否存在于设备类型C中。若是,则执行步骤308;若否,则执行步骤309。
如果确定设备类型C中存在多个子设备类型,则在确定设备类型B是空值且设备类型A不为空值时,或者在确定设备类型B不是空值且设备类型B不存在于设备类型C中时,判断该设备类型C中是否存在设备类型A。
步骤308,将设备类型A确定为Web服务设备的目标设备类型。
步骤309,将设备类型C中存在的任一子设备类型确定为Web服务设备的目标设备类型。
上述实施例表明,上述技术方案中,由于现有技术方案是通过从Web服务器返回的响应页面中获取Web服务器的设备类型相关信息,并对Web服务器的设备类型相关信息进行特征匹配,来确定Web服务器的设备类型,因此若Web服务器的运维人员对Web服务器的设备类型相关信息进行伪造或抹除,或者运维人员对返回的服务器信息字段进行自定义设置,那么通过采用特征匹配识别的方式就不能准确地识别出Web服务器的设备类型。基于此,本发明中的技术方案通过引入参数污染的方式来共同识别Web服务设备的设备类型,可以精确地探测到Web服务设备针对参数污染访问请求的真实响应状态,并根据Web服务设备针对参数污染访问请求的真实响应状态以及Web服务设备针对未进行参数污染的访问请求的真实响应状态,可以准确地识别出Web服务设备的响应行为特征,如此也就可以准确地识别出Web服务设备的设备类型,从而可以有效地提高Web服务设备的设备类型的识别准确性,以此可以有效地降低特征匹配识别时所产生的漏报率、误报率。具体来说,Web客户端构造用于访问Web服务设备的第一访问请求和至少一个第二访问请求;第一访问请求用于表征针对Web服务设备的访问请求中的可污染参数进行多参数值污染所构造的请求;每个第二访问请求用于表征针对Web服务设备的访问请求中的可污染参数未进行污染所构造的请求。再针对每个第二访问请求的第二响应页面,对第一访问请求的第一响应页面和该第二访问请求的第二响应页面进行相似度运算,以此可确定出第一相似度值,并将该第一相似度值与相似度阈值进行比对,即可确定Web服务设备针对第一访问请求的响应行为与针对第二访问请求的响应行为是否相同,从而为初步确定Web服务设备的设备类型提供支持。然后,在确定第一相似度值大于相似度阈值时,可进一步地根据Web服务设备的使用编程语言,从与第二响应页面匹配的至少一个Web服务设备的设备类型中确定出第一设备类型,并基于该第一设备类型,可准确地确定出Web服务设备的目标设备类型,从而可以有效地提高Web服务设备的设备类型的识别准确性,以此可以有效地降低特征匹配识别时所产生的漏报率、误报率。
基于相同的技术构思,图4示例性的示出了本发明实施例提供的一种Web服务设备的识别装置,该装置可以执行Web服务设备的识别方法的流程。
如图4所示,该装置包括:
构造单元401,用于构造用于访问Web服务设备的第一访问请求和至少一个第二访问请求;所述第一访问请求用于表征针对所述Web服务设备的访问请求中的可污染参数进行多参数值污染所构造的请求;每个第二访问请求用于表征针对所述Web服务设备的访问请求中的可污染参数未进行污染所构造的请求;
处理单元402,用于针对每个第二访问请求的第二响应页面,对所述第一访问请求的第一响应页面和所述第二访问请求的第二响应页面进行相似度运算,确定出第一相似度值;若确定所述第一相似度值大于相似度阈值,则从与所述第二响应页面匹配的至少一个所述Web服务设备的设备类型中确定出符合所述Web服务设备的使用编程语言的第一设备类型;基于所述第一设备类型,确定出所述Web服务设备的目标设备类型。
可选地,所述处理单元402还用于:
构造用于访问Web服务设备的第三访问请求和第四访问请求;所述第三访问请求用于表征针对所述Web服务设备进行正常访问的请求;所述第四访问请求用于表征针对所述Web服务设备进行异常访问的请求;
通过对所述第三访问请求的第三响应页面进行特征匹配,确定出所述Web服务设备的第二设备类型,并通过对所述第四访问请求的第四响应页面进行特征匹配,确定出所述Web服务设备的第三设备类型;
所述处理单元402具体用于:
根据所述第一设备类型、所述第二设备类型以及所述第三设备类型,确定出所述Web服务设备的目标设备类型。
可选地,所述处理单元402具体用于:
针对第一相似度值大于相似度阈值的第二响应页面,在确定所述第一响应页面中可污染参数的第一参数值与所述第二响应页面中所述可污染参数的第二参数值相同时,从设备类型库中确定出与所述第二参数值匹配的至少一个设备类型;
根据所述Web服务设备的使用编程语言,从与所述第二参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
可选地,所述处理单元402还用于:
若确定各第二响应页面的第一相似度值均小于等于所述相似度阈值或者第一参数值与第二参数值不相同,则在确定所述第一参数值为各第二参数值的组合时,根据所述各第二参数值构造出用于访问Web服务设备的第五访问请求;
针对所述第五访问请求的第五响应页面,确定所述第五响应页面与所述第一响应页面的第二相似度值;
若确定所述第二相似度值大于所述相似度阈值,则从所述设备类型库中确定出与所述第一参数值匹配的至少一个设备类型;
根据所述Web服务设备的使用编程语言,从与所述第一参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
可选地,所述处理单元402还用于:
若确定所述第二相似度值小于等于所述相似度阈值或者所述第一参数值不为各第二参数值的组合,则从各第一相似度值以及所述第二相似度值中确定出最大的相似度值;
若确定所述最大的相似度值小于所述相似度阈值,则根据所述Web服务设备的使用编程语言,从所述设备类型库中确定出所述Web服务设备的第一设备类型。
可选地,所述处理单元402还用于:
若确定所述最大的相似度值大于等于所述相似度阈值,则在确定所述最大的相似度值为所述各第一相似度值中的任一个时,根据所述Web服务设备的使用编程语言,从与所述第二参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型;或者,在确定所述最大的相似度值为所述第二相似度值时,根据所述Web服务设备的使用编程语言,从与所述第一参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
可选地,所述处理单元402具体用于:
获取所述第一响应页面的页面源码以及所述第二响应页面的页面源码,并分别针对所述第一响应页面的页面源码以及所述第二响应页面的页面源码进行分词处理,确定出所述第一响应页面对应的第一分词集以及所述第二响应页面对应的第二分词集;
将所述第一分词集中的各第一分词与所述第二分词集中的各第二分词进行合并去重处理,得到第三分词集;
以所述第三分词集中的每个第三分词作为键,为每个键设置对应的数值,得到键值数据集;
根据所述键值数据集,将所述第一分词集中的各第一分词转换为对应的数值,得到第一数值集,并将所述第二分词集中的各第二分词转换为对应的数值,得到第二数值集;
对所述第一数值集进行编码处理,得到第一向量集,并对所述第二数值集进行编码处理,得到第二向量集;
将所述第一向量集以及所述第二向量集,通过设定的相似度算法,确定出所述第一相似度值。
可选地,所述处理单元402具体用于:
若确定所述第一设备类型中仅存在一个子设备类型,则将所述子设备类型确定为所述Web服务设备的目标设备类型;
若确定所述第一设备类型中存在至少两个子设备类型,则在确定所述第三设备类型存在于所述第一设备类型中时,将所述第三设备类型确定为所述Web服务设备的目标设备类型;或者,在确定所述第三设备类型为空值且确定所述第二设备类型存在于所述第一设备类型中时,将所述第二设备类型确定为所述Web服务设备的目标设备类型。
可选地,所述处理单元402还用于:
在确定所述第一设备类型中存在至少两个子类型时,若确定所述第二设备类型、所述第三设备类型均为空值或者确定所述第二设备类型、所述第三设备类型均不存在于所述第一设备类型中,则将所述第一设备类型中的任一子类型确定为所述Web服务设备的目标设备类型。
基于相同的技术构思,本发明实施例还提供了一种计算设备,如图5所示,包括至少一个处理器501,以及与至少一个处理器连接的存储器502,本发明实施例中不限定处理器501与存储器502之间的具体连接介质,图5中处理器501和存储器502之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的Web服务设备的识别方法中所包括的步骤。
其中,处理器501是计算设备的控制中心,可以利用各种接口和线路连接计算设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,从而实现数据处理。可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理下发指令。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合Web服务设备的识别方法实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述Web服务设备的识别方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种Web服务设备的识别方法,其特征在于,包括:
Web客户端构造用于访问Web服务设备的第一访问请求和至少一个第二访问请求;所述第一访问请求用于表征针对所述Web服务设备的访问请求中的可污染参数进行多参数值污染所构造的请求;每个第二访问请求用于表征针对所述Web服务设备的访问请求中的可污染参数未进行污染所构造的请求;
针对每个第二访问请求的第二响应页面,所述Web客户端对所述第一访问请求的第一响应页面和所述第二访问请求的第二响应页面进行相似度运算,确定出第一相似度值;
所述Web客户端若确定所述第一相似度值大于相似度阈值,则从与所述第二响应页面匹配的至少一个所述Web服务设备的设备类型中确定出符合所述Web服务设备的使用编程语言的第一设备类型;
所述Web客户端基于所述第一设备类型,确定出所述Web服务设备的目标设备类型。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述Web客户端构造用于访问Web服务设备的第三访问请求和第四访问请求;所述第三访问请求用于表征针对所述Web服务设备进行正常访问的请求;所述第四访问请求用于表征针对所述Web服务设备进行异常访问的请求;
所述Web客户端通过对所述第三访问请求的第三响应页面进行特征匹配,确定出所述Web服务设备的第二设备类型,并通过对所述第四访问请求的第四响应页面进行特征匹配,确定出所述Web服务设备的第三设备类型;
所述Web客户端基于所述第一设备类型,确定出所述Web服务设备的目设备标类型,包括:
所述Web客户端根据所述第一设备类型、所述第二设备类型以及所述第三设备类型,确定出所述Web服务设备的目标设备类型。
3.如权利要求1所述的方法,其特征在于,所述Web客户端若确定所述第一相似度值大于相似度阈值,则从与所述第二响应页面匹配的至少一个所述Web服务设备的设备类型中确定出符合所述Web服务设备的使用编程语言的第一设备类型,包括:
所述Web客户端针对第一相似度值大于相似度阈值的第二响应页面,在确定所述第一响应页面中可污染参数的第一参数值与所述第二响应页面中所述可污染参数的第二参数值相同时,从设备类型库中确定出与所述第二参数值匹配的至少一个设备类型;
所述Web客户端根据所述Web服务设备的使用编程语言,从与所述第二参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
所述Web客户端若确定各第二响应页面的第一相似度值均小于等于所述相似度阈值或者第一参数值与第二参数值不相同,则在确定所述第一参数值为各第二参数值的组合时,根据所述各第二参数值构造出用于访问Web服务设备的第五访问请求;
所述Web客户端针对所述第五访问请求的第五响应页面,确定所述第五响应页面与所述第一响应页面的第二相似度值;
所述Web客户端若确定所述第二相似度值大于所述相似度阈值,则从所述设备类型库中确定出与所述第一参数值匹配的至少一个设备类型;
所述Web客户端根据所述Web服务设备的使用编程语言,从与所述第一参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
所述Web客户端若确定所述第二相似度值小于等于所述相似度阈值或者所述第一参数值不为各第二参数值的组合,则从各第一相似度值以及所述第二相似度值中确定出最大的相似度值;
所述Web客户端若确定所述最大的相似度值小于所述相似度阈值,则根据所述Web服务设备的使用编程语言,从所述设备类型库中确定出所述Web服务设备的第一设备类型。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
所述Web客户端若确定所述最大的相似度值大于等于所述相似度阈值,则在确定所述最大的相似度值为所述各第一相似度值中的任一个时,根据所述Web服务设备的使用编程语言,从与所述第二参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型;或者,在确定所述最大的相似度值为所述第二相似度值时,根据所述Web服务设备的使用编程语言,从与所述第一参数值匹配的至少一个设备类型中确定出所述Web服务设备的第一设备类型。
7.如权利要求1所述的方法,其特征在于,所述Web客户端对所述第一访问请求的第一响应页面和所述第二访问请求的第二响应页面进行相似度运算,确定出第一相似度值,包括:
所述Web客户端获取所述第一响应页面的页面源码以及所述第二响应页面的页面源码,并分别针对所述第一响应页面的页面源码以及所述第二响应页面的页面源码进行分词处理,确定出所述第一响应页面对应的第一分词集以及所述第二响应页面对应的第二分词集;
所述Web客户端将所述第一分词集中的各第一分词与所述第二分词集中的各第二分词进行合并去重处理,得到第三分词集;
所述Web客户端以所述第三分词集中的每个第三分词作为键,为每个键设置对应的数值,得到键值数据集;
所述Web客户端根据所述键值数据集,将所述第一分词集中的各第一分词转换为对应的数值,得到第一数值集,并将所述第二分词集中的各第二分词转换为对应的数值,得到第二数值集;
所述Web客户端对所述第一数值集进行编码处理,得到第一向量集,并对所述第二数值集进行编码处理,得到第二向量集;
所述Web客户端将所述第一向量集以及所述第二向量集,通过设定的相似度算法,确定出所述第一相似度值。
8.如权利要求2所述的方法,其特征在于,所述Web客户端根据所述第一设备类型、所述第二设备类型以及所述第三设备类型,确定出所述Web服务设备的目标设备类型,包括:
所述Web客户端若确定所述第一设备类型中仅存在一个子设备类型,则将所述子设备类型确定为所述Web服务设备的目标设备类型;
所述Web客户端若确定所述第一设备类型中存在至少两个子设备类型,则在确定所述第三设备类型存在于所述第一设备类型中时,将所述第三设备类型确定为所述Web服务设备的目标设备类型;或者,在确定所述第三设备类型为空值且确定所述第二设备类型存在于所述第一设备类型中时,将所述第二设备类型确定为所述Web服务设备的目标设备类型。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
所述Web客户端在确定所述第一设备类型中存在至少两个子类型时,若确定所述第二设备类型、所述第三设备类型均为空值或者确定所述第二设备类型、所述第三设备类型均不存在于所述第一设备类型中,则将所述第一设备类型中的任一子类型确定为所述Web服务设备的目标设备类型。
10.一种Web服务设备的识别装置,其特征在于,包括:
构造单元,用于构造用于访问Web服务设备的第一访问请求和至少一个第二访问请求;所述第一访问请求用于表征针对所述Web服务设备的访问请求中的可污染参数进行多参数值污染所构造的请求;每个第二访问请求用于表征针对所述Web服务设备的访问请求中的可污染参数未进行污染所构造的请求;
处理单元,用于针对每个第二访问请求的第二响应页面,对所述第一访问请求的第一响应页面和所述第二访问请求的第二响应页面进行相似度运算,确定出第一相似度值;若确定所述第一相似度值大于相似度阈值,则从与所述第二响应页面匹配的至少一个所述Web服务设备的设备类型中确定出符合所述Web服务设备的使用编程语言的第一设备类型;基于所述第一设备类型,确定出所述Web服务设备的目标设备类型。
11.一种计算设备,其特征在于,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行权利要求1至9任一权利要求所述的方法。
12.一种计算机可读存储介质,其特征在于,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行权利要求1至9任一权利要求所述的方法。
CN202111396969.1A 2021-11-23 2021-11-23 一种Web服务设备的识别方法及装置 Pending CN114238822A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111396969.1A CN114238822A (zh) 2021-11-23 2021-11-23 一种Web服务设备的识别方法及装置
PCT/CN2022/100025 WO2023093017A1 (zh) 2021-11-23 2022-06-21 一种Web服务设备的识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111396969.1A CN114238822A (zh) 2021-11-23 2021-11-23 一种Web服务设备的识别方法及装置

Publications (1)

Publication Number Publication Date
CN114238822A true CN114238822A (zh) 2022-03-25

Family

ID=80750632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111396969.1A Pending CN114238822A (zh) 2021-11-23 2021-11-23 一种Web服务设备的识别方法及装置

Country Status (2)

Country Link
CN (1) CN114238822A (zh)
WO (1) WO2023093017A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023093017A1 (zh) * 2021-11-23 2023-06-01 深圳前海微众银行股份有限公司 一种Web服务设备的识别方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409090B (zh) * 2018-11-12 2020-09-29 北京知道创宇信息技术股份有限公司 网站后台检测方法、装置及服务器
CN110166522B (zh) * 2019-04-01 2021-08-24 腾讯科技(深圳)有限公司 服务器识别方法、装置、可读存储介质和计算机设备
CN111125748A (zh) * 2019-11-04 2020-05-08 广发银行股份有限公司 越权查询的判断方法、装置、计算机设备和存储介质
CN111404937B (zh) * 2020-03-16 2021-12-10 腾讯科技(深圳)有限公司 一种服务器漏洞的检测方法和装置
CN114238822A (zh) * 2021-11-23 2022-03-25 深圳前海微众银行股份有限公司 一种Web服务设备的识别方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023093017A1 (zh) * 2021-11-23 2023-06-01 深圳前海微众银行股份有限公司 一种Web服务设备的识别方法及装置

Also Published As

Publication number Publication date
WO2023093017A1 (zh) 2023-06-01

Similar Documents

Publication Publication Date Title
CN100565526C (zh) 一种针对网页作弊的反作弊方法及系统
CN110489622B (zh) 对象信息的分享方法、装置、计算机设备和存储介质
CN111368163B (zh) 一种爬虫数据的识别方法、系统及设备
CN110968689A (zh) 罪名及法条预测模型的训练方法以及罪名及法条预测方法
CN115348339B (zh) 一种基于功能码和业务数据相关性的工控异常检测方法
CN112989348A (zh) 攻击检测方法、模型训练方法、装置、服务器及存储介质
CN113313479A (zh) 基于人工智能的支付业务大数据处理方法及系统
CN110958244A (zh) 一种基于深度学习的仿冒域名检测方法及装置
CN110602030A (zh) 网络入侵阻断方法、服务器及计算机可读介质
CN114238822A (zh) 一种Web服务设备的识别方法及装置
CN116956906A (zh) 文本生成方法、装置及电子设备
CN111126058A (zh) 文本信息自动抽取方法、装置、可读存储介质和电子设备
CN114492576A (zh) 一种异常用户检测方法、系统、存储介质及电子设备
CN113449816A (zh) 网址分类模型训练、网址分类方法、装置、设备及介质
CN113434857A (zh) 一种应用深度学习的用户行为安全解析方法及系统
CN111274202B (zh) 电子合同生成方法、装置、计算机设备及存储介质
CN107786529B (zh) 网站的检测方法、装置及系统
CN115348184B (zh) 一种物联网数据安全事件预测方法及系统
CN114884686B (zh) 一种php威胁识别方法及装置
CN115278757A (zh) 一种检测异常数据的方法、装置及电子设备
CN115168509A (zh) 风控数据的处理方法及装置、存储介质、计算机设备
CN114064905A (zh) 网络攻击检测方法、装置、终端设备、芯片及存储介质
CN112883372B (zh) 跨站脚本攻击检测方法和装置
CN114241253A (zh) 违规内容识别的模型训练方法、系统、服务器及存储介质
CN113515684A (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