CN110147506A - Url的去重方法与装置 - Google Patents
Url的去重方法与装置 Download PDFInfo
- 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
Links
Classifications
-
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL 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
技术领域
本发明属于网络技术领域,尤其是涉及一种利用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值计算单元、模糊值确定单元之间为电连接。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704770A (zh) * | 2021-08-27 | 2021-11-26 | 北京天融信网络安全技术有限公司 | 一种漏洞的验证方法、装置、设备及介质 |
Citations (6)
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的处理方法和装置 |
-
2019
- 2019-03-28 CN CN201910241005.6A patent/CN110147506B/zh active Active
Patent Citations (6)
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)
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)
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 |