提高网站漏洞扫描速度的方法及装置制造方法

文档序号:7777506阅读:213来源:国知局
提高网站漏洞扫描速度的方法及装置制造方法
【专利摘要】本发明公开了一种提高网站漏洞扫描速度的方法及装置。其中,提高网站漏洞扫描速度的方法包括如下步骤:获取网站链接;确定该网站链接是否为无需爬虫链接;若是,则对该网站链接不进行漏洞扫描;若不是,则对该网站链接进行漏洞扫描。利用本发明的提高网站漏洞扫描速度方法和装置,当识别出网站的某个链接为无需爬虫链接时,则不再对该链接进行漏洞扫描,这样可以极大地提高爬虫和漏洞扫描的效率,减少用户在漏洞扫描过程中的等待时间。
【专利说明】提高网站漏洞扫描速度的方法及装置
【技术领域】
[0001]本发明涉及计算机网络【技术领域】,特别涉及一种提高网站漏洞扫描速度的方法及
装直。
【背景技术】
[0002]目前,绝大多数中小网站都依赖搜索引擎给网站带来流量,为了更好地被搜索引擎收录,一些开源CMS (Content Management System,内容管理系统)厂商或网站都会大量使用无需爬虫链接技术来增加搜索引擎的抓取量,而实际上对这些无需爬虫链接进行漏洞扫描是多余的,只需对无需爬虫链接进行一次爬取即可。因此,需要在漏洞扫描过程中很好地识别和对无需爬虫链接进行归一性处理,用以提高漏洞扫描过程中爬取链接和漏洞测试的速度。

【发明内容】

[0003]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种提高网站漏洞扫描速度的方法及装置。
[0004]依据本发明的一个方面,提供了一种提高网站漏洞扫描速度的方法,包括:获取网站链接;确定网站链接是否为无需爬虫链接;若是,则对该网站链接不进行漏洞扫描,否则对该网站链接进行漏洞扫描。
[0005]进一步地,上述 提高网站漏洞扫描速度方法中,确定所述网站链接是否为无需爬虫链接的步骤进一步包括:判断网站链接是否符合重写规则,若是,则确定该网站链接为无需爬虫链接。
[0006]进一步地,上述提高网站漏洞扫描速度方法中,判断网站链接是否为无需爬虫链接的步骤进一步包括:判断网站链接是否为参数链接,若是,则判断该参数链接是否为参数重复的链接,若是,则确定该网站链接为无需爬虫链接。
[0007]进一步地,上述提高网站漏洞扫描速度方法中,确定所述网站链接是否为无需爬虫链接的步骤进一步包括:判断链接归一性规则库中是否存在链接归一性规则,链接归一性规则是根据网站链接提取的用于判断该网站链接是否为无需爬虫链接的规则;若是,则判断网站链接是否符合链接归一性规则,如果符合,则确定网站链接为无需爬虫链接。
[0008]进一步地,上述提高网站漏洞扫描速度方法中,如果判断链接归一性规则库中不存在链接归一性规则或网站链接不符合链接归一性规则,则执行如下步骤:根据网站链接生成D0M树;提取D0M树的一个子层;计算D0M树的子层的子节点数;判断子层的子节点数是否大于预设值;若是,则确定网站链接为无需爬虫链接,并根据网站链接而提取链接归一性规则,将该链接归一性规则添加到链接归一性规则库中。
[0009]进一步地,上述提高网站漏洞扫描速度方法中,根据网站链接提取链接归一性规则是通过对网站链接截取目录符后的内容,根据该内容而提取链接归一性规则。
[0010]进一步地,上述提高网站漏洞扫描速度方法中,链接归一性规则包括:全数字或全字符规则、数字和字符混合规则、MD5字符串规则、以及特殊形式页面规则。
[0011]另一方面,本发明还提供了一种提高网站漏洞扫描速度的装置,该装置包括:获取模块,适于获取网站链接;判断模块,适于确定网站链接是否为无需爬虫链接;执行模块,适于在判断模块判断所述网站链接为无需爬虫链接时,对该网站链接不进行漏洞扫描,否则对该网站链接进行漏洞扫描。
[0012]进一步地,上述提高网站漏洞扫描速度装置中,判断模块包括:重写规则判断子模块,适于判断网站链接是否符合重写规则,若符合,则确定该网站链接为无需爬虫链接。
[0013]进一步地,上述提高网站漏洞扫描速度装置中,判断模块包括:参数链接判断子模块,判断网站链接是否为参数链接,若是,则判断该参数链接是否为参数重复的链接,若是,则确定该网站链接为无需爬虫链接。
[0014]进一步地,上述提高网站漏洞扫描速度装置中,判断模块包括:链接归一性规则判断子模块,适于判断链接归一性规则库中是否存在链接归一性规则,若是,则判断网站链接是否符合链接归一性规则,如果符合,则确定网站链接为无需爬虫链接;其中,链接归一性规则是根据网站链接提取的用于判断该网站链接是否为无需爬虫链接的规则。
[0015]进一步地,上述提高网站漏洞扫描速度装置中,链接归一性规则判断子模块包括:第一判断单元,其适于判断链接归一性规则库中是否存在链接归一性规则;链接归一性规则判断单元,其适于在第一判断单元判断存在链接归一性规则时,判断网站链接是否符合链接归一性规则,如果符合,则判断网站链接为无需爬虫链接;链接归一性规则提取单元,其适于在第一判断单元判断链接归一性规则库中不存在链接归一性规则时以及链接归一性规则判断单元判断网站链接不符合链接归一性规则时,根据网站链接提取链接归一性规则。
[0016]进一步地,上述提高网站漏洞扫描速度装置中,链接归一性规则提取单元通过如下方式提取链接归一性规则:根据网站链接生成D0M树,提取D0M树的一个子层,计算D0M树的子层的子节点数;判断子层的子节点数是否大于预设值,若是,则确定该子层的链接为无需爬虫链接,并根据网站链接而提取链接归一性规则,将该链接归一性规则添加到链接归一性规则库中。
[0017]进一步地,上述提高网站漏洞扫描速度装置中,链接归一性规则包括:全数字或全字符规则、数字和字符混合规则、MD5字符串规则、以及特殊形式页面规则。
[0018]利用本发明的提高网站漏洞扫描速度方法和装置,当识别出网站的某个链接为无需爬虫链接时,则不再爬虫该链接,这样可以极大地提高爬虫的效率,减少用户在漏洞扫描过程中的等待时间。
[0019]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0020]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:[0021]图1示出了根据本发明的一种实施方式的提高网站漏洞扫描速度的方法实施例的流程图;
[0022]图2示出了示出了根据本发明的另一实施方式的提高网站漏洞扫描速度的方法的流程图;
[0023]图3示出了根据本发明的另一实施方式的提高网站漏洞扫描速度的方法的流程图;
[0024]图4A示出了根据本发明的又一实施方式的提高网站漏洞扫描速度的方法的流程图;
[0025]图4B示出了根据网站的D0M树判断该网站链接是否为无需爬虫链接的方法的流程图;
[0026]图5示出了本发明的链接归一性规则提取方法的流程图;
[0027]图6示出了本发明的提高网站漏洞扫描速度方法的一个优选实施例的流程图;
[0028]图7A示出了根据本发明的一种实施方式的提高网站漏洞扫描速度的装置的结构示意图;
[0029]图7B示出了本发明的链接归一性规则判断子模块的结构示意图。
【具体实施方式】
[0030]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当 理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0031]图1示出了根据本发明的一种实施例的提高网站漏洞扫描速度的方法100的流程图。如图1所示,该方法100始于步骤S110,在步骤S110,获取网站链接。这里,主要是获取网站链接地址URL。
[0032]接下来,在步骤S120,确定该网站链接是否为无需爬虫链接。无需爬虫链接是指无需对其进行爬虫的网站链接。无需爬虫链接的URL地址通常都具有一定的规律性,通过找出网站链接的URL的规律性,可以将某些网站链接列为无需爬虫链接,而不对其进行漏洞扫描,从而提高漏洞扫描速度。
[0033]如果在步骤S120确定该网站链接为无需爬虫链接,则执行步骤S130,对该网站链接不进行漏洞扫描;如果在步骤S120确定该网站链接不是无需爬虫链接,则执行步骤S140,对该网站链接进行漏洞扫描。
[0034]关于步骤S120的实现方式可以有很多种,下面举例进行说明。
[0035]在本发明的一种实施方式中,图1中所示的步骤S120可以根据重写规则判断网站链接是否为无需爬虫链接。图2示出了根据本发明的另一实施方式的提高网站漏洞扫描速度的方法200的流程图。如图2所示,在步骤S120,判断该网站链接是否符合重写规则,若是,则确定该网站链接为无需爬虫链接。这里的重写规则主要是通用的URL重写规则。
[0036]对于一个网站,其为了提高被搜索引擎阅读和索引的能力,通过浏览器进入的该网站的URL通常会被按照重写规则进行重写成另一种形式的URL,例如,通过浏览器进来的URL 是“UserProfiie.aspx ? ID = 1”,可以被重写成“UserProfile/1.aspx”,这样的网址可以更好地被网站所阅读。
[0037]本发明事先收集通用的URL重写规则。例如,如果网站的URL具有如下的表现形式:/.*/index、/.*/list、/.*/search> thread-[\\d_-]*.htm 等,贝U认为该网站链接符合通用的URL重写规则。例如,如下的三个网站链接就是符合通用的URL重写规则的网站链接:
[0038]http://webscan.360.cn/index/checkwebsite/url/webscan.360.cn
[0039]http://webscan.360.cn/index/checkwebsite/url/wangzhan.360.cn
[0040]http://webscan.360.cn/index/checkwebsite/url/bbs.webscan.360.cn
[0041]上述的网站链接包含通用的URL重写规则“/.*/index/”。
[0042]在本实施方式中,在获取到网站链接URL之后,判断该网站链接的URL是否符合所收集的通用的URL重写规则,如果符合,则该网站链接为无需爬虫链接,这时,可以根据预先的设定,来确定是否对其进行爬虫和漏洞扫描。例如,一种情况是,可以设定:当确定该网站链接为无需爬虫链接时,则不对其进行爬虫及漏洞扫描。另一种情况是,优选地,为了提高精度,可以设定:对符合通用的URL重写规则的网站链接确定为无需爬虫链接,但仍然对前5个或前10个这样的网站链接进行爬虫和漏洞扫描,但对之后的符合通用的URL重写规则的网站链接则确定为无需爬虫链接,不进行爬虫和漏洞扫描。
[0043]通过这种 方式可以减少爬虫的网站链接的数量,也无需对这些网站链接进行漏洞扫描,从而可以极大地提高网站的漏洞扫描速度。
[0044]在本发明的另一种实施方式中,图1中所示的步骤S120,可以通过判断网站链接是否为参数链接进而判断该网站链接是否为无需爬虫链接。图 3示出了根据本发明的另一种实施方式的提高网站漏洞扫描速度的方法300的流程图。如图3所示,前面所述的步骤S120由步骤S121和步骤S122来实现。在步骤S121,判断该网站链接是否为参数链接,若是,则执行步骤S122,判断该参数链接是否为参数重复的链接,若是,则执行步骤S130,对该网站链接不进行爬虫及漏洞扫描。
[0045]其中,判断一个网站链接是否是参数链接的判断标准可以为:如果一个网站链接包含问号,并且问号后面的变量等于预设值,例如var = value,其中var表示变量,value表示具体的数值,则确定该链接为参数链接。例如,对于网站链接http://webscan.360.cn/a/a.php ? a = 1,其中变量a的预设值为1,则可以确定该网站链接符合上述参数链接的标准,由此判断其为参数链接。
[0046]在步骤S121中判断该网站链接为参数链接的情况下,再进一步在步骤S122中判断该参数链接是否为参数重复的链接,其判断标准可以为:参数链接中的参数的名称相同、排列顺序一致,但数值不同。例如,
[0047]先获取网站链接A:webscan.360.cn/a/a.php ? a = 1,
[0048]之后,获取网站链接B:webscan.360.cn/a/a.php ? a = 2,
[0049]从上面可以看出,在链接A和链接B中,参数都是a,只是a的数值不同,则后获取的网站链接B为重复链接,确定为无需爬虫链接。这时,对链接A进行爬虫和漏洞扫描,而对重复链接B不进行爬虫和漏洞扫描。这里链接A和链接B可以是同一网站的不同网页。
[0050]通过这种方式也可以减少需要爬取的网站链接的数量,且对判断为无需爬虫链接的网站链接也不进行漏洞扫描,从而可以提高网站的漏洞扫描速度。[0051]在本发明的又一种实施方式中,图1中所示的步骤S120还可以通过链接归一性规则判断该网站链接是否为无需爬虫链接。图4A示出了根据本发明的另一实施方式的提高网站漏洞扫描速度的方法400的流程图。具体地,如图4A所示,图1中所示的步骤S120通过步骤S421、S422、S423来实现。在步骤S421,判断链接归一性规则库中是否存在链接归一性规则;若是,则执行步骤S422,判断该网站链接是否符合该链接归一性规则,如果符合,则执行步骤S130,对该网站链接不进行爬虫和漏洞扫描。
[0052]其中,链接归一性规则是根据网站链接的URL提取的用于判断该网站链接是否为无需爬虫链接的规则,具体地,可以通过对网站链接的URL,截取其目录符后的内容,根据截取的内容进行提取。例如根据截取的内容提取出的链接归一性规则可以为全数字或全字符规则(例如,正则表达式\d+$是全数字、正则表达式\S+$是全字符)、数字和字符混合规则(例如,~ [0-9a-fA-F]+$)、MD5字符串规则、以及特殊形式页面规则(例如,add_l.html、add2.html,其中含有特殊字符_)等。这些链接归一性规则统一存放至链接归一性规则库中。
[0053]对于网站中的链接,除了符合重写规则的链接、符合重复链接中的参数重复的链接之外,还有其它的链接,例如重复链接中还有目录重复、文件重复的链接,以及符合另外一些规则的链接,但是这些规则不是通用的,需要进行提取。
[0054]为此,当在步骤S421中判断该链接归一性规则库中不存在链接归一性规则时,或者在步骤S422中判断该网站链接不符合链接归一性规则库中所包含的链接归一性规则时,则执行步骤S423,根据网站链接生成网站的D0M树,根据该网站的D0M树判断该网站链接是否为无需爬虫链接。
[0055]图4B示出了步骤S423中根据网站的D0M树判断该网站链接是否为无需爬虫链接的方法,具体包括如下步骤:
[0056]首先,在步骤S410,根据网站链接生成D0M树;
[0057]接下来,在步骤S420,提取该D0M树的一个子层;
[0058]接下来,在步骤S430,计算该D0M树的这个子层作为倒数第二子层的子节点数;
[0059]接下来,在步骤S440,判断该子层作为倒数第二子层的子节点数是否大于预设值;若是,则执行步骤S450,确定该网站链接为无需爬虫链接,并根据该网站链接的URL而提取链接归一性规则,将该链接归一性规则添加到上述链接归一性规则库中,否则执行步骤S140,对该网站链接进行爬虫和漏洞扫描。
[0060]当D0M树包含三个以上的多个子层时,每个子层都有可能是一些网站链接的D0M树中的倒数第二个子层,这时,上述步骤S420、S430和S440要重复执行多次。具体地,在步骤S420,提取D0M树的子层时通常是从上至下依次进行提取。为了确认是否提取到了 D0M树的最后一个子层的上一子层(即倒数第二个子层),在执行该步骤时,判断该子层是否是D0M树的最后一个子层,如果是,则链接归一性规则提取结束,直接退出;如果不是D0M树的最后一个子层,则执行步骤S430、S440,然后再返回执行步骤S420、S430和S440,直到链接归一性规则提取结束。
[0061]另外,在步骤S440中,所述预设值是一个经验值,可以是大于1的正整数,目前根据测试和实践经验,通常取5以上的正整数。
[0062]在步骤S440,在判断该子层作为倒数第二子层的子节点数大于预设值时,确定该子层下的网站链接为无需爬虫链接。例如,当预设值为5时,则只对前5个该子层下的网站链接进行爬虫和漏洞扫描,而对之后该子层下的网站链接不再进行爬虫和漏洞扫描。为此,需要根据DOM树各子层的网站链接URL特点,对DOM树各子层的网站链接URL提取链接归一性规则,并将其存储至链接归一性规则库中,用来作为判断该子层下的网站链接是否是无需爬虫链接的标准。
[0063]关于每个子层的链接归一性规则的提取方法500,参见图5,首先,在步骤S510,截取网站链接URL除目录符后的内容,例如,获取的网站链接为:http://webscan.360.cn/a/111,则截取之后的111 ;
[0064]接下来,在步骤S520,判断截取的内容是否为全数字或全字符的形式,如果是,则执行步骤S560,提取链接归一性规则后退出;否则进入下一步骤S530 ;
[0065]在步骤S530,判断截取的内容是否全部为数字和字符的混合形式,如果是,则执行步骤S560,提取链接归一性规则后退出;否则进入下一步骤S540 ;
[0066]在步骤S540,判断截取的内容是否为MD5 (Message-Digest Algorithm5,信息摘要算法5)字符串,如果是,则执行步骤S560,提取链接归一性规则后退出;否则进入下一步骤S550,其中MD5字符串用于确保信息传输完整一致;
[0067]在步骤S550,判断截取的内容是否为特殊形式的页面形式,如果是,则执行步骤S560,提取链接归一性规则。
[0068]上述各链接归一性规则实质上是模式匹配,匹配规则可以为:全数字:\d+$,全字符:\S+$,数字和字符混合规则:[\d|\S]+, MD5: [0-9a-fA-F] {32},特殊形式的页面:add_l.html、add_2.html,其中,链接地址中包含一些特殊的字符,例如在前面的两个例子中,包含下划线。
[0069]其中,MD5字符串是网站管理员生成的,关于判断链接地址中是否包含MD5字符串规则,可以通过正则表达式来进行判断。
[0070]在本实施方式中,D0M树可以采用开源库生成,当然,也可以采用本领域技术人员公知的其他方式来生成,本发明对此不做任何限定。
[0071]在本实施方式中,当根据D0M树判断该网站链接为无需爬虫链接时,则提取链接归一性规则,并将提取的链接归一性规则添加入链接归一性规则库中,当再次获取到符合该链接归一性规则的网站链接时,将该网站链接的URL地址与归一性规则库中的链接归一性规则进行比较,如果满足链接归一性规则,则确定该网站链接为无需爬虫链接,则无需进行爬虫及漏洞扫描。通过上述根据网站链接的D0M树的判断方法判断该网站链接是否为无需爬虫链接,可以不断地丰富链接归一性规则库,从而使得无需爬虫链接的判断不断简化,可以不断地减少进行爬虫的网站链接的数量,从而提高漏洞扫描速度。
[0072]在上面所述的步骤S120的各种实现方式中,对网站链接的URL的判断,可以采用人工比对的方式,也可以采用正则表达式完成。
[0073]图2 —图4给出了三种确定网站链接是否为无需爬虫链接的方法,这些方法可以分别单独使用,也可以任意进行组合使用。但本发明并不限于采用图2-图4所给出的在种确定网站链接是否为无需爬虫链接的方法,也可以采用其它的方法来确定网站链接是否为无需爬虫链接。
[0074]图6示出了本发明的提高网站漏洞扫描速度方法600的一个优选实施例,其将图2-图4中所给出的三种确定网站链接是否为无需爬虫链接的方法组合在一起使用。如图6所示,首先,在步骤S610,获取网站链接的URL。
[0075]接下来,在步骤S620,判断该网站链接URL是否符合通用的URL重写规则,如果符合,则进入步骤S690,确定该网站链接为无需爬虫链接,不进行爬虫和漏洞扫描而直接退出;否则进入下一步骤S630 ;
[0076]在步骤S630,判断该网站链接URL是否为参数链接,如果是参数链接则进入步骤S635 ;否则进入步骤S640 ;
[0077]在步骤S635,判断该参数链接是否为参数重复的链接,如果是参数重复的链接,则进入步骤690,确定该网站链接为无需爬虫链接,不进行爬虫和漏洞扫描而直接退出;否则进行爬虫链接或者进入步骤S640 ;
[0078]在步骤S640,判断链接归一性规则库中是否存在链接归一性规则;如果存在,则执行步骤S641,判断该网站链接不符合链接归一性规则库中所包含的链接归一性规则,如果符合,则执行步骤S690,确定该网站链接为无需爬虫链接,不进行爬虫和漏洞扫描而直接退出;否则该网站链接需要爬虫和漏洞扫描。
[0079]当在步骤S640中判断该链接归一性规则库中不存在链接归一性规则时,或者在步骤S641中判断该网站链接不符合链接归一性规则库中所包含的链接归一性规则时,则执行步骤S642,生成网站的D0M树。
[0080]接下来,在步骤S643,提取D0M树的一个子层,然后在步骤S644,判断该子层是否是D0M树的最后一个子层,如果是,则执行步骤S645,结束链接归一性规则的提取,直接退出爬虫;否则进入下一步骤S646 ;
[0081]在步骤S645,判断该子层作为倒数第二子层时的子节点是否超过预设值(例如,10个子节点),如果超过了该预设值,则执行步骤S647,确定该网站链接为无需爬虫链接,不进行爬虫和漏洞扫描,并提取链接归一性规则且保存于链接归一性规则库中,然后返回步骤S643,再提取D0M树的下一个子层;否则直接返回步骤S643,再提取D0M树的下一个子层。
[0082]例如,计算在webscan.360.cn/ 这一网站的 D0M 树的 webscan.360.cn/a/ 这个子层下有如下10个子节点:
[0083]webscan.360.cn/a/111
[0084]webscan.360.cn/a/222
[0085]webscan.360.cn/a/333
[0086]...[0087]webscan.360.cn/a/999
[0088]webscan.360.cn/a/101010
[0089]如果对webscan.360.cn/a/这个子层下的链接(即子节点数)的预设值为10个,则确定webscan.360.cn/a/下的网站链接为无需爬虫链接,这时,根据上述10个该子层下的网站链接而提取该子层的链接归一性规则并存储于链接归一性规则库中。这种情形下,只对上面所列的该子层下的前10个网站链接进行爬虫和漏洞扫描,而对之后再出现的该子层下的网站链接,则根据所提取的该子层的链接归一性规则判断为无需爬虫链接,则不再进行爬虫和漏洞扫描。[0090]图7A示出了根据本发明的一种实施方式的提高网站漏洞扫描速度的装置的结构框图。
[0091]如图7A所示,本发明的提高网站漏洞扫描速度的装置700可以包括获取模块710、判断模块720、和执行模块730。其中,获取模块710适于获取网站链接,这里,主要是获取网站链接地址URL。判断模块720适于判断获取模块710所获取的网站链接是否为无需爬虫链接。执行模块730适于基于判断模块720的判断结果而执行相应的动作,当判断模块720判断该网站链接为无需爬虫链接时,对该网站链接不进行漏洞扫描,否则对该网站链接进行漏洞扫描。通过本发明的提高网站漏洞扫描速度的装置700,根据网站链接的URL的特点,找出网站链接的规律性,而将这些具有一定规律性的网站链接确定为无需爬虫链接,从而可以提高网站的漏洞扫描速度。
[0092]判断模块720可以基于多种方式判断所获取的网站链接是否为无需爬虫链接。
[0093]在本发明的一种实施方式中,判断模块720可以包括重写规则判断子模块721。该重写规则判断子模块721适于判断所述网站链接是否符合重写规则,若符合,则确定该网站链接为无需爬虫链接。这里,重写规则主要是指通用的URL重写规则。
[0094]对于一个网站,其为了提高被搜索引擎阅读和索引的能力,通过浏览器进入的该网站的URL通常会被按照重写规则进行重写成另一种形式的URL。本发明事先收集这些通用的URL重写规则,例如,如果网站的URL具有如下的表现形式:/.*/index、/.*/list、/.*/search、thread-[\\d__]*.htm等,则认为该网站链接符合通用的URL重写规则。重写规则判断子模块721判断所述网站链接是否符合所收集的通用的URL重写规则,如果符合,则确定网站链接为无需爬虫链接,这时,可以根据预先的设定,来确定是否对其进行爬虫和漏洞扫描。例如,一种情况是,可以设定:当确定该网站链接为无需爬虫链接时,则不对其进行爬虫及漏洞扫描。另一种情况是,优选地,为了提高精度,可以设定:对符合通用的URL重写规则的网站链接确定为无需爬虫链接,但仍然对前5个或前10个这样的网站链接进行爬虫和漏洞扫描,但对之后的符合通 用的URL重写规则的网站链接则确定为无需爬虫链接,不进行爬虫和漏洞扫描。
[0095]通过重写规则判断子模块721的判断,可以确定出无需爬虫链接,从而减少需要爬虫的网站链接的数量,可以提高网站的漏洞扫描速度。
[0096]在本发明的另一种实施方式中,判断模块720可以包括参数链接判断子模块722。该参数链接判断子模块722判断所述网站链接是否为参数链接,若是,则判断该参数链接是否为参数重复的链接,若是,则确定该网站链接为无需爬虫链接。
[0097]其中,判断一个网站链接是否是参数链接的判断标准可以为:如果一个网站链接包含问号,并且问号后面的变量等于预设值,例如var = value,其中var表示变量,value表示具体的数值,则确定该链接为参数链接。例如,http://webscan.360.cn/a/a.php ? a=1,而其中变更a的预设值为1,则可以确定该网站链接符合上述参数链接的标准,由此判断其为参数链接。
[0098]判断参数链接是否是参数重复的链接的判断标准可以为:参数链接中的参数的名称相同、排列顺序一致,但数值不同。参数重复的链接可以是同一网站的不同网页。参数重复的链接,是相对于出现的第一个参数链接而言,参数重复的链接可以有一个或者多个。其中,对于第一个参数链接,进行爬虫和漏洞扫描,而对于相对于第一个参数链接的参数重复的链接,则判断为无需爬虫链接,不对其进行爬虫和漏洞扫描。
[0099]通过使用参数链接判断子模块722,也可以减少需要爬取的网站链接的数量,从而可以提高网站的漏洞扫描速度。
[0100]在本发明的又一种实施方式中,判断模块720可以包括链接归一性规则判断子模块723。链接归一性规则判断子模块723适于判断链接归一性规则库中是否存在链接归一性规则,若是,则判断网站链接是否符合链接归一性规则,如果符合,则确定网站链接为无需爬虫链接。具体可以参见前面图4A的描述。其中,链接归一性规则是根据网站链接提取的用于判断该网站链接是否为无需爬虫链接的规则,例如可以包括:全数字或全字符规则、数字和字符混合规则、MD5字符串规则、以及特殊形式页面规则等。
[0101]进一步地,参见图7B,链接归一性规则判断子模块723可以包括第一判断单元7231、链接归一性规则判断单元7232、和链接归一性规则提取单元7233。
[0102]其中,第一判断单元7231适于判断链接归一性规则库中是否存在链接归一性规贝U。链接归一性规则判断单元7232适于在第一判断单元7231判断存在链接归一性规则时,判断网站链接是否符合链接归一性规则,如果符合,则判断网站链接为无需爬虫链接。链接归一性规则提取单元7233适于在第一判断单元7231判断链接归一性规则库中不存在链接归一性规则时以及链接归一性规则判断单元7232判断网站链接不符合链接归一性规则时,根据网站链接提取链接归一性规则。
[0103]其中,链接归一性规则提取单元7233通过如下方式提取链接归一性规则:根据网站链接生成D0M树,提取D0M树的一个子层,计算D0M树的该子层作为倒数第二子层的子节点数;判断该子层作为倒数第二子层的子节点数是否大于预设值,若是,则确定该子层的链接为无需爬虫链接,并提取链接归一性规则,将该链接归一性规则添加到链接归一性规则库中。
[0104]当D0M树包含三个以上的多个子层时,每个子层都有可能是一些网站链接的D0M树中的倒数第二个子层,这时,链接归一性规则提取单元7233要分别提取D0M树的各个子层,并基于上述方式判断该子层下的网站链接是否为无需爬虫链接,并在确定为无需爬虫链接时,提取链接归一性规则,将该链接归一性规则添加到链接归一性规则库中。具体可参见前面关于图4B的说明。
[0105]对于各子层作为倒数第二子层所包含的子节点数的预设值,是一个经验值,可以是大于1的正整数,目前根据测试和实践经验,通常取5以上的正整数。
[0106]当判断D0M树的一个子层作为倒数第二子层的子节点数大于预设值时,确定该子层下的网站链接为无需爬虫链接。例如,当预设值为5时,则只对前5个该子层下的网站链接进行爬虫和漏洞扫描,而对之后出现的该子层下的网站链接不再进行爬虫和漏洞扫描。为此,需要根据D0M树各子层的网站链接URL特点,对D0M树各子层的网站链接URL提取链接归一性规则,并将其存储至链接归一性规则库中,用来作为判断该子层下的网站链接是否是无需爬虫链接的标准。
[0107]关于每个子层的链接归一性规则的提取方法,参见前面图5所做的说明。这里为了简洁,不再重复描述。
[0108]通过使用链接归一性规则判断子模块723,可以进一步确定一些网站链接为无需爬虫链接,从而减少爬虫和漏洞扫描的网站链接的数量,提高网站的漏洞扫描速度。[0109]另外,本发明的装置700的判断模块720可以包括重写规则判断子模块721、参数链接判断子模块722、链接归一性规则判断子模块723中的一个或多个。另外,判断模块720还可以包括判断是否为无需爬虫链接的其它判断子模块。
[0110]需要说明的是,该装置实施例与上述方法实施例原理相同,相关之处可以相互参照。
[0111]综上可知,利用本发明,通过识别出网站的某个链接为无需爬虫链接,而不对其进行爬虫和漏洞扫描,这样可以极大地提高漏洞扫描速度,减少用户在漏洞扫描过程中的等待时间。本发明可以在网站管理员对网站进行管理、维护时使用。
[0112]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0113]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0114]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0115]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0116]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0117]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的浏览器客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0118]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0119]本发明公开了 A1、一种提高网站漏洞扫描速度的方法,包括:
[0120]获取网站链接;
[0121]确定所述网站链接是否为无需爬虫链接;
[0122]若是,则对该网站链接不进行漏洞扫描,否则对该网站链接进行漏洞扫描。
[0123]A2、根据A1所述的方法,其中,所述确定所述网站链接是否为无需爬虫链接的步骤进一步包括:
[0124]判断所述网站链接是否符合重写规则,若是,则确定该网站链接为无需爬虫链接。
[0125]A3、根据A1所述的方法,其中,所述判断所述网站链接是否为无需爬虫链接的步骤进一步包括:
[0126]判断所述网站链接是否为参数链接,若是,则判断该参数链接是否为参数重复的链接,若是,则确定该网站链接为无需爬虫链接。
[0127]A4、根据A1所述的方法,其中,所述确定所述网站链接是否为无需爬虫链接的步骤进一步包括:
[0128]判断链接归一性规则库中是否存在链接归一性规则,所述链接归一性规则是根据网站链接提取的用于判断该网站链接是否为无需爬虫链接的规则;
[0129]若是,则判断所述网站链接是否符合所述链接归一性规则,如果符合,则确定所述网站链接为无需爬虫链接。
[0130]A5、根据A4所述的方法,其中
[0131]如果判断所述链接归一性规则库中不存在所述链接归一性规则或所述网站链接不符合所述链接归一性规则,则执行如下步骤:
[0132]根据所述网站链接生成D0M树;
[0133]提取所述D0M树的一个子层;
[0134]计算所述D0M树的所述子层的子节点数;
[0135]判断所述子层的子节点数是否大于预设值;
[0136]若是,则确定所述网站链接为无需爬虫链接,并根据所述网站链接而提取链接归一性规则,将该链接归一性规则添加到所述链接归一性规则库中。
[0137]A6、根据A5所述的方法,其中,所述根据所述网站链接提取链接归一性规则是通过对网站链接截取目录符后的内容,根据该内容而提取链接归一性规则。[0138]A7、根据A5或A6所述的方法,其中,所述链接归一性规则包括:全数字或全字符规贝1J、数字和字符混合规则、MD5字符串规则、以及特殊形式页面规则。
[0139]本发明还公开了 B1、一种提高网站漏洞扫描速度的装置,包括:
[0140]获取模块,适于获取网站链接;
[0141]判断模块,适于确定所述网站链接是否为无需爬虫链接;
[0142]执行模块,适于在判断模块判断所述网站链接为无需爬虫链接时,对该网站链接不进行漏洞扫描,否则对所述网站链接进行漏洞扫描。
[0143]B2、根B1所述的装置,其中,所述判断模块包括:
[0144]重写规则判断子模块,适于判断所述网站链接是否符合重写规则,若符合,则确定该网站链接为无需爬虫链接。
[0145]B3、根据B1所述的装置,其中,所述判断模块包括:
[0146]参数链接判断子模块,判断所述网站链接是否为参数链接,若是,则判断该参数链接是否为参数重复的链接,若是,则确定该网站链接为无需爬虫链接。
[0147]B4、根据B1所述的装置,其中,所述判断模块包括:
[0148]链接归一性规则判断子模块,适于判断链接归一性规则库中是否存在链接归一性规则,若是,则判断所述网站链接是否符合所述链接归一性规则,如果符合,则确定所述网站链接为无需爬虫链接;
[0149]其中,所述链接归一性规则是根据网站链接提取的用于判断该网站链接是否为无需爬虫链接的规则。
[0150]B5、根据B4所述的装置,其中,
[0151]所述链接归一性规则判断子模块包括:
[0152]第一判断单元,其适于判断链接归一性规则库中是否存在链接归一性规则;
[0153]链接归一性规则判断单元,其适于在所述第一判断单元判断存在所述链接归一性规则时,判断所述网站链接是否符合所述链接归一性规则,如果符合,则判断所述网站链接为无需爬虫链接;
[0154]链接归一性规则提取单元,其适于在所述第一判断单元判断链接归一性规则库中不存在链接归一性规则时以及所述链接归一性规则判断单元判断所述网站链接不符合所述链接归一性规则时,根据所述网站链接提取链接归一性规则。
[0155]B6、根据B5所述的装置,其中,所述链接归一性规则提取单元通过如下方式提取所述链接归一性规则:
[0156]根据所述网站链接生成D0M树,
[0157]提取所述D0M树的一个子层,
[0158]计算所述D0M树的所述子层作为倒数第二个子层的子节点数;
[0159]判断所述子层作为倒数第二个子层的子节点数是否大于预设值,若是,则确定该子层的链接为无需爬虫链接,并根据所述网站链接而提取链接归一性规则,将该链接归一性规则添加到所述链接归一性规则库中。
[0160]B7、根据B1-B6中任何一项所述的提高网站漏洞扫描速度的装置,其中,所述链接归一性规则包括:全数字或全字符规则、数字和字符混合规则、MD5字符串规则、以及特殊形式页面规则。
【权利要求】
1.一种提高网站漏洞扫描速度的方法,包括:获取网站链接;确定所述网站链接是否为无需爬虫链接;若是,则对该网站链接不进行漏洞扫描,否则对该网站链接进行漏洞扫描。
2.根据权利要求1所述的方法,其中,所述确定所述网站链接是否为无需爬虫链接的步骤进一步包括:判断所述网站链接是否符合重写规则,若是,则确定该网站链接为无需爬虫链接。
3.根据权利要求1所述的方法,其中,所述判断所述网站链接是否为无需爬虫链接的步骤进一步包括:判断所述网站链接是否为参数链接,若是,则判断该参数链接是否为参数重复的链接,若是,则确定该网站链接为无需爬虫链接。
4.根据权利要求1所述的方法,其中,所述确定所述网站链接是否为无需爬虫链接的步骤进一步包括:判断链接归一性规则库中是否存在链接归一性规则,所述链接归一性规则是根据网站链接提取的用于判断该网站链接是否为无需爬虫链接的规则;若是,则判断所述网站链接是否符合所述链接归一性规则,如果符合,则确定所述网站链接为无需爬虫链接。
5.根据权利要求4所述的方法,其中`如果判断所述链接归一性规则库中不存在所述链接归一性规则或所述网站链接不符合所述链接归一性规则,则执行如下步骤:根据所述网站链接生成DOM树;提取所述DOM树的一个子层;计算所述DOM树的所述子层的子节点数;判断所述子层的子节点数是否大于预设值;若是,则确定所述网站链接为无需爬虫链接,并根据所述网站链接而提取链接归一性规则,将该链接归一性规则添加到所述链接归一性规则库中。
6.一种提高网站漏洞扫描速度的装置,包括:获取模块,适于获取网站链接;判断模块,适于确定所述网站链接是否为无需爬虫链接;执行模块,适于在判断模块判断所述网站链接为无需爬虫链接时,对该网站链接不进行漏洞扫描,否则对所述网站链接进行漏洞扫描。
7.根据权利要求6所述的装置,其中,所述判断模块包括:重写规则判断子模块,适于判断所述网站链接是否符合重写规则,若符合,则确定该网站链接为无需爬虫链接。
8.根据权利要求6所述的装置,其中,所述判断模块包括:参数链接判断子模块,判断所述网站链接是否为参数链接,若是,则判断该参数链接是否为参数重复的链接,若是,则确定该网站链接为无需爬虫链接。
9.根据权利要求6所述的装置,其中,所述判断模块包括:链接归一性规则判断子模块,适于判断链接归一性规则库中是否存在链接归一性规贝1J,若是,则判断所述网站链接是否符合所述链接归一性规则,如果符合,则确定所述网站链接为无需爬虫链接;其中,所述链接归一性规则是根据网站链接提取的用于判断该网站链接是否为无需爬虫链接的规则。
10.根据权利要求9所述的装置,其中,所述链接归一性规则判断子模块包括:第一判断单元,其适于判断链接归一性规则库中是否存在链接归一性规则;链接归一性规则判断单元,其适于在所述第一判断单元判断存在所述链接归一性规则时,判断所述网站链接是否符合所述链接归一性规则,如果符合,则判断所述网站链接为无需爬虫链接;链接归一性规则提取单元,其适于在所述第一判断单元判断链接归一性规则库中不存在链接归一性规则时以及所述链接归一性规则判断单元判断所述网站链接不符合所述链接归一性规则时,根据所述网站链接提取`链接归一性规则。
【文档编号】H04L29/06GK103685237SQ201310598586
【公开日】2014年3月26日 申请日期:2013年11月22日 优先权日:2013年11月22日
【发明者】赵武, 龙专 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1