CN110147506A - Url的去重方法与装置 - Google Patents

Url的去重方法与装置 Download PDF

Info

Publication number
CN110147506A
CN110147506A CN201910241005.6A CN201910241005A CN110147506A CN 110147506 A CN110147506 A CN 110147506A CN 201910241005 A CN201910241005 A CN 201910241005A CN 110147506 A CN110147506 A CN 110147506A
Authority
CN
China
Prior art keywords
url
catalogue
value
remainder
hash value
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.)
Granted
Application number
CN201910241005.6A
Other languages
English (en)
Other versions
CN110147506B (zh
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.)
Jiepu Network Science & Technology Co Ltd Xi'an Jiaoda
Original Assignee
Jiepu Network Science & Technology Co Ltd Xi'an Jiaoda
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 Jiepu Network Science & Technology Co Ltd Xi'an Jiaoda filed Critical Jiepu Network Science & Technology Co Ltd Xi'an Jiaoda
Priority to CN201910241005.6A priority Critical patent/CN110147506B/zh
Publication of CN110147506A publication Critical patent/CN110147506A/zh
Application granted granted Critical
Publication of CN110147506B publication Critical patent/CN110147506B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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 Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种一种URL的去重方法与装置,包括:计算两个URL的模糊值,若对比一致则认为两个URL相同,择一进行漏洞的分析检查;若不一致则认为两个URL不同,则分别进行漏洞的分析检查。模糊值的计算主要包括目录结构解析、相应目录的Hash值计算和次方值计算,结合两个值后取余,巧妙的利用Hash值和次方值的计算,可以快捷的区分URL的相似性,而且可以有效提高去重的准确率。

Description

URL的去重方法与装置
技术领域
本发明属于网络技术领域,尤其是涉及一种利用Hash值和次方值进行URL去重的方法及应用该方法的装置。
背景技术
URL(Uniform Resource Locator,统一资源定位符)是WWW网络的统一资源定位标识,就是指网络地址。URL检测过滤是网络入侵检测系统的重要环节,公益机构URL-BLACK-LIST给出的恶意URL列表达到数百万个,再加上各个安全公司从其他渠道收集的恶意URL,恶意URL的规模达到了千万量级。如何在大型网络入侵检测设备、高性能应用网关等设备上对这些大规模恶意URL进行快速分析检测,减少资源消耗,避免影响设备性能,成为一个急需解决的问题。
Web漏扫是针对爬取引擎爬到的URL进行,爬取结果中会出现相似度很高甚至实质上完全相同的URL,如果对全部结果都进行漏洞检查分析的话,会导致资源的浪费,并且会导致分析速率变慢。因此对URL去重可以大幅度地减少冗余URL的数量,提高后续工作的效率。在对URL去重的过程中会存在以下情形:
http://abc.com/2019-3-21/
http://abc.com/2019/03/21/123.html
http://abc.com/2019/03/21/
http://abc.com/2019/xxxxxx_0321/123.html
如上所述的一组URL,目录中均含有类似的日期,实际上有很大可能是指向相同内容,这类URL在政府、公告、资讯、数据存储等类型的URL中广泛存在,数量庞大,因此有必要对这一类目录中含有日期内容的URL进行去重处理,以节省资源,提高Web漏扫的分析效率。
目前,URL去重主要采用基于Hash(哈希)的方法,由于基于Hash的方法对局部变化不敏感,因此会导致不同的URL被误判为相同的URL。
发明内容
为了克服目前对URL进行Hash去重的误判问题,本发明旨在提供一种提高去重率和准确率的去重方法及其装置。
首先本发明提供一种URL的去重方法,其具体技术方案为:
URL去重方法,包括:计算两个URL的模糊值,若对比一致则认为两个URL相同,若不一致则认为两个URL不同,所述模糊值的计算包括以下步骤:
S1.解析URL,若第i级目录具有特征F,则进行S2;若第i级目录不具有特征F,则终止;所述第i级目录为URL的最后一级目录,特征F指该目录含有数字。
S2.若URL目录总级数>2,进行S3;若URL目录总级数≤2,进行S4;所述目录总级数指URL路径部分除服务器名和域名及其后的斜杠“/”外的“/”数量。
第i级目录位于URL路径部分的第(i-1)个“/”与第i个“/”之间。
S3.包括:
S31计算第一级与第二级目录、文件属性名的Hash值,Hash值取余后相加得到结果A1;
S32计算其余各目录的目录名长度*10X,相加后得到结果A2;所述X=目录总级数-本目录所在级数;
S33计算A1+A2得到C,C取余后得到该URL对应的模糊值。
S4.包括:
S41计算第(i-1)级目录、文件属性名的Hash值,Hash值取余后相加后得到结果B1;
S42计算其余各目录的目录名长度*10Y,相加后得到结果B2;所述Y=目录总级数-本目录所在级数;
S43计算B1+B2得到D,D取余后得到该URL对应的模糊值。
S31与S41中,当URL不含有文件属性名时, 以空值计算其Hash值;Hash值取余算法采用Hash(object)%N;Hash算法优选MD5。
S32与S42所述目录名长度指目录名的字符数量。
S31、S33、S41、S43的取余算法相同。
进一步的,若两个URL被认为相同,则任选一个URL分析检查漏洞;若两个URL被认为不同,则分别分析检查漏洞。
本发明还提供一种应用上述去重方法的URL去重装置,包括:
URL解析单元,用于解析URL的目录结构并确定目录具有的特征;
Hash值计算单元,用于计算目录、文件属性名的Hash值;
模糊值确定单元,用于进行取余、相加、次方值计算,以确定URL的模糊值;
URL解析单元、Hash值计算单元、模糊值确定单元之间为电连接。
采用以上技术方案的本发明,巧妙的利用Hash值和次方值的计算,对URL不同级的目录进行不同类型的计算,再结合后得出相应URL的模糊值,比较URL的模糊值从而实现对含有数字的URL进行去重,可以快捷的区分URL的相似性,而且可以有效提高去重的准确率,克服了Hash对局部变化不敏感的缺点,避免误判,应用于Web漏扫中能明显提升任务执行效率。
附图说明
图1是本发明的URL去重方法的流程示意图;
图2是图1中,URL模糊值计算的步骤示意图;
图3是应用所述URL去重方法的装置组成图。
具体实施方式
下面结合附图和实施例对本发明的技术方案进行详细说明。
针对目前Web漏扫中出现的扫描链接(URL)相似度高、扫描速度慢的问题,提出了对相似链接进行去重的技术方案,该技术方案优先实现的是对爬取引擎爬取得到的以日期/时间命名最后一级目录的链接进行去重,以提高Web漏扫的分析效率,当URL的目录存在其他类似特征的,例如某一级目录含有其他特征(相同字符串/符号/单词等),也可以从本方案得到启示,实现去重。
如图1所示,URL去重方法,先计算URL的模糊值,再将计算所得的模糊值进行对比,如果模糊值对比一致则认为两个URL是相同的,那么执行漏扫时只需要对其中任一个进行分析检查就可以;而如果模糊值对比不一致则认为两个URL是不同的,执行漏扫时就需要分别进行分析检查。为了便于后期维护,本技术方案优先采用Python实现。
计算URL的模糊值的步骤,不同于常用的对URL进行Hash运算,以Hash值作为去重特征值,本发明对URL的部分目录进行Hash值的运算,并进行取余,对其他目录进行的是10的次方值运算,结合两种运算的结果相加并取余得到模糊值,具体叙述如下。
如图2所示,S10.解析URL目录结构,至少得到该URL的基本组成,包括协议、路径、总目录级数,各目录的特征,所述目录总级数指URL路径部分除服务器名和域名(包括其后所带的斜杠“/”)外的斜杠的数量,例如:http://abc.com/2019/xxxxxx_0321/123.html,其目录总级数指的是 “2019/xxxxxx_0321/123.html”包含的目录级数,根据前述方法,该URL目录的总级数为2级;最后一级目录位于最后一个“/”与第一个(2减1)“/”之间,即“xxxxxx_0321”为最后一级目录(也可称第二级目录);“html”为文件属性名;目录名长度指目录名的字符数量,例如“2019”的目录名长度为4。其中如果最后一级目录含有数字内容,表明该数字可能表示日期或时间,则进行S21或S22;如果最后一级目录不含有数字内容,则不再计算模糊值,直接执行漏洞分析检查。
S21若URL目录总级数>2,进行S31至S33;S22若URL目录总级数≤2,进行S41至S43;
URL目录总级数>2时,进行以下步骤:
S31计算第一级与第二级目录、文件属性名的Hash值,Hash值取余后相加得到结果A1;
S32计算其余各目录的目录名长度*10X,相加后得到结果A2; X=目录总级数-本目录所在级数;
S33计算A1+A2得到C,C取余后得到该URL对应的模糊值。
URL目录总级数≤2时,进行以下步骤:
S41计算倒数第二级目录(即最后一级目录的前一级目录)、文件属性名的Hash值,Hash值取余后相加后得到结果B1;
S42计算其余各目录的目录名长度*10Y,相加后得到结果B2;Y=目录总级数-本目录所在级数;
S43计算B1+B2得到D,D取余后得到该URL对应的模糊值。
需要说明的是,S31与S41中,当URL不含有文件属性名时,以空值计算其Hash值;Hash值取余算法采用Hash(object)%N;Hash算法优选MD5;S31、S33、S41、S43的取余算法相同,即%N。
补充说明的是,上述的Hash运算是将任何输入的内容值输出为十位数字,是常见的加密算法之一,需要相应的代码实现该Hash算法,具体的代码实现方式不在本发明讨论范围内,故此处不展开说明,各种计算机语言均可以实现,优选Python。当然,Hash值的结果并非必须为十位数字,也可以是其他便于比较和处理的整数,只要能得到最终的模糊值即可;被取余的“N”也可以根据实际经验和需要进行自由选取。
如图3所示,URL去重装置,包括:
URL解析单元,用于解析URL的目录结构并确定目录具有的特征;
Hash值计算单元,用于计算目录、文件属性名的Hash值;
模糊值确定单元,用于进行取余、相加、次方值计算,以确定URL的模糊值;
URL解析单元、Hash值计算单元、模糊值确定单元之间为电连接。
采用以上方案,本发明结合Hash值和次方值的计算,得到最后的模糊值,利用该模糊值可以快捷的区分URL(链接)的相似性,如两个(或若干个)URI相同则只需要分析其中一个就可以实现对相类似一组URL的漏洞的扫描,这样可以减少分析引擎的工作压力,并且不会影响最后的分析准确度。
经过实践证明,应用于政府性相关网站时, Web漏扫的任务执行时间缩短50%以上,有效提高了分析效率。
实施例
假设爬取引擎爬取到两个URL(为便于叙述,以下也称链接),分别是:
A:http://www.xinhuanet.com/politics/leaders/2019-03/25/c_1124276580.htm
B:http://www.xinhuanet.com/politics/25/c_1124276580.htm
解析链接的目录结构,可知两个链接的最后一级目录均为“25”,内容含有数字,都需进行模糊值的计算;链接A的目录总级数为4,链接B的目录总级数为2,需要分别按照不同的方法计算。
对于链接A,进行以下计算:
① 前两级分别为“politics”与“leaders”, Hash(politics)得到十位数字a1,Hash(leaders) 得到十位数字a2,Hash(htm)得到十位数字a3;
② a1%98765(取余运算)得到a4,a2%98765(取余运算)得到a5,a3%98765(取余运算)得到a6,a4+a5+a6=A1;
③ 其余目录(“2019-03”和“25”),计算目录长度乘以10的次方值:目录总级数为4;“2019-03”和“25”的目录长度分别为7和2;
则“2019-03”位于第三级,其乘以10的次方值为7*10(4-3)=70;“25”位于第四级,其乘以10的次方值为2*10(4-4)=2;计算70+2=72(记为A2);
④ 计算A1+A2=C(即C=a4+a5+a6+72),C%98765(取余运算)=A3,A3即为链接A对应的模糊值。
对于链接B,进行以下计算:
① 前一级(即倒数第二级)为“politics”, Hash(politics)得到十位数字a1,Hash(htm)得到十位数字a3;
② a1%98765(取余运算)得到a4,a3%98765(取余运算)得到a6,a4+a6=B1;
③ 链接B没有其余目录,则计算目录长度乘以10的次方值为0,其余目录次方值之和也为0(记为B2);
④ 计算B1+B2=D(即D=a4+a6),D%98765(取余运算)=B3,B3即为链接B对应的模糊值。
最后比较A3与B3,若A3=B3则认为A、B两个链接相同,选择A或B进行漏洞的分析检查即可;若A3≠B3则认为A、B两个链接不同,分别进行漏洞的分析检查。

Claims (10)

1.URL去重方法,包括:计算两个URL的模糊值,若对比一致则认为两个URL相同,若不一致则认为两个URL不同,其特征在于,所述模糊值的计算包括以下步骤:
S1.解析URL,若第i级目录具有特征F,则进行S2;若第i级目录不具有特征F,则终止;
S2.若URL目录总级数>2,进行S3;若URL目录总级数≤2,进行S4;
S3.包括:
S31计算第一级与第二级目录、文件属性名的Hash值,Hash值取余后相加得到结果A1;
S32计算其余各目录的目录名长度*10X,相加后得到结果A2;所述X=目录总级数-本目录所在级数;
S33计算A1+A2得到C,C取余后得到该URL对应的模糊值;
S4.包括:
S41计算第(i-1)级目录、文件属性名的Hash值,Hash值取余后相加后得到结果B1;
S42计算其余各目录的目录名长度*10Y,相加后得到结果B2;所述Y=目录总级数-本目录所在级数;
S43计算B1+B2得到D,D取余后得到该URL对应的模糊值。
2.根据权利要求1所述的URL去重方法,其特征在于,S1所述第i级目录为URL的最后一级目录,特征F指该目录含有数字。
3.根据权利要求1所述的URL去重方法,其特征在于,S2所述目录总级数指URL路径部分除服务器名和域名及其后的斜杠“/”外的“/”数量,第i级目录位于URL路径部分的第(i-1)个“/”与第i个“/”之间。
4.根据权利要求1所述的URL去重方法,其特征在于,S31与S41,当URL没有文件属性名时, 以空值计算其Hash值。
5.根据权利要求1所述的URL去重方法,其特征在于,所述Hash值取余按照Hash(object)%N进行。
6.根据权利要求5所述的URL去重方法,其特征在于,Hash算法优选MD5。
7.根据权利要求5所述的URL去重方法,其特征在于,S31、S33、S41、S43的取余算法相同。
8.根据权利要求1所述的URL去重方法,其特征在于,所述目录名长度指目录名的字符数量。
9.根据权利要求1所述的URL去重方法,其特征在于,若两个URL被认为相同,则任选一个URL分析检查漏洞;若两个URL被认为不同,则分别分析检查漏洞。
10. URL去重装置,其特征在于,包括:
URL解析单元,用于解析URL的目录结构并确定目录具有的特征;
Hash值计算单元,用于计算目录、文件属性名的Hash值;
模糊值确定单元,用于进行取余、相加、次方值计算,以确定URL的模糊值;
URL解析单元、Hash值计算单元、模糊值确定单元之间为电连接。
CN201910241005.6A 2019-03-28 2019-03-28 Url的去重方法与装置 Active CN110147506B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910241005.6A CN110147506B (zh) 2019-03-28 2019-03-28 Url的去重方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910241005.6A CN110147506B (zh) 2019-03-28 2019-03-28 Url的去重方法与装置

Publications (2)

Publication Number Publication Date
CN110147506A true CN110147506A (zh) 2019-08-20
CN110147506B CN110147506B (zh) 2022-09-23

Family

ID=67588906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910241005.6A Active CN110147506B (zh) 2019-03-28 2019-03-28 Url的去重方法与装置

Country Status (1)

Country Link
CN (1) CN110147506B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704770A (zh) * 2021-08-27 2021-11-26 北京天融信网络安全技术有限公司 一种漏洞的验证方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020099723A1 (en) * 2000-01-14 2002-07-25 Jorge Garcia-Chiesa Apparatus and method to support management of uniform resource locators and/or contents of database servers
CN1798147A (zh) * 2004-12-28 2006-07-05 华为技术有限公司 一种统一资源定位符的匹配方法
US7383299B1 (en) * 2000-05-05 2008-06-03 International Business Machines Corporation System and method for providing service for searching web site addresses
CN103428219A (zh) * 2013-08-25 2013-12-04 金华比奇网络技术有限公司 一种基于网页模板匹配的web漏洞扫描方法
CN105808738A (zh) * 2016-03-10 2016-07-27 哈尔滨工程大学 基于元搜索引擎搜索结果的去重方法
CN106844389A (zh) * 2015-12-07 2017-06-13 阿里巴巴集团控股有限公司 网络资源地址url的处理方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020099723A1 (en) * 2000-01-14 2002-07-25 Jorge Garcia-Chiesa Apparatus and method to support management of uniform resource locators and/or contents of database servers
US7383299B1 (en) * 2000-05-05 2008-06-03 International Business Machines Corporation System and method for providing service for searching web site addresses
CN1798147A (zh) * 2004-12-28 2006-07-05 华为技术有限公司 一种统一资源定位符的匹配方法
CN103428219A (zh) * 2013-08-25 2013-12-04 金华比奇网络技术有限公司 一种基于网页模板匹配的web漏洞扫描方法
CN106844389A (zh) * 2015-12-07 2017-06-13 阿里巴巴集团控股有限公司 网络资源地址url的处理方法和装置
CN105808738A (zh) * 2016-03-10 2016-07-27 哈尔滨工程大学 基于元搜索引擎搜索结果的去重方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YUHAI LU ET AL.: "A Data-Deduplication-Based Matching Mechanism for URL Filtering", 《2018 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC)》 *
李佳莉等: "基于协议状态图遍历的RTSP协议漏洞挖掘", 《计算机科学》 *
李自金: "元搜索引擎的结果合成算法研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704770A (zh) * 2021-08-27 2021-11-26 北京天融信网络安全技术有限公司 一种漏洞的验证方法、装置、设备及介质
CN113704770B (zh) * 2021-08-27 2023-12-08 北京天融信网络安全技术有限公司 一种漏洞的验证方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110147506B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
US9954895B2 (en) System and method for identifying phishing website
CN103559235B (zh) 一种在线社交网络恶意网页检测识别方法
Lee et al. A novel method for SQL injection attack detection based on removing SQL query attribute values
US9882923B2 (en) Automatic context-sensitive sanitization
US10491618B2 (en) Method and apparatus for website scanning
US7444331B1 (en) Detecting code injection attacks against databases
CN101883024B (zh) 一种跨站点伪造请求的动态检测方法
US20150128272A1 (en) System and method for finding phishing website
CN112989348B (zh) 攻击检测方法、模型训练方法、装置、服务器及存储介质
US20090287641A1 (en) Method and system for crawling the world wide web
CN107437026B (zh) 一种基于广告网络拓扑的恶意网页广告检测方法
CN102082792A (zh) 钓鱼网页检测方法及设备
CN111835777B (zh) 一种异常流量检测方法、装置、设备及介质
CN104899219A (zh) 伪静态url的筛除方法、系统及网页爬取方法、系统
CN103399872A (zh) 对网页抓取进行优化的方法和装置
CN104778164A (zh) 检测重复url的方法及装置
CN104320312A (zh) 网络应用安全测试工具及模糊测试用例生成方法和系统
CN101895517B (zh) 一种脚本语义提取方法和提取装置
CN107743128A (zh) 一种基于首页关联域名和同服务ip的非法网站挖掘方法
CN105022824A (zh) 无效链接的识别方法和装置
CN105528357A (zh) 一种基于url和网页文档结构的相似性的网页内容提取方法
CN103617225B (zh) 一种关联网页搜索方法和系统
CN108363711B (zh) 一种网页中的暗链的检测方法和装置
CN110147506A (zh) Url的去重方法与装置
CN117792741A (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
GR01 Patent grant
GR01 Patent grant