网络安全 频道

站点很脆弱 Web应用风险扫描研究与应用

  4. 网络爬虫技术—URL获取

  网络爬虫是一个自动提取网页的程序,它通过指定的域名,从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。

  网络爬虫的工作流程较为复杂,首先根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,根据搜索策略从队列中选择下一步要抓取的网页URL,并重复,直到达到预设的停止条件。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询、检索和取证及报表生成时做为源数据。

  为了更加高速、有效地获取网站中所有的URL链接,在本WEB应用风险扫描技术研究中,所采用的网络爬虫技术着重解决以下三个问题:

  (1) 对抓取目标的描述或定义;

  (2) 对网页和数据的分析与过滤;

  (3) 对URL的搜索策略。

  4.1 网页抓取目标

  网页弱点爬虫对抓取目标的描述或定义基于目标网页特征抓取、存储并索引,对象是网站的网页;通过用户行为确定的抓取目标样例,其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,以及网页代码的结构特征等。

  4.2 网页分析算法

  基于网页内容的分析算法指的是利用网页内容(文本、数据等资源)特征进行的网页评价。该算法从原来的较为单纯的文本检索方法,发展为涵盖网页数据抽取、机器学习、数据挖掘、语义理解等多种方法的综合应用。根据网页数据形式的不同,将基于网页内容的分析算法,归纳以下三类:第一种针对以文本和超链接为主的无结构或结构很简单的网页;第二种针对从结构化的数据源动态生成的页面,其数据不能直接批量访问;第三种针对的数据界于第一和第二类数据之间,具有较好的结构,显示遵循一定模式或风格,且可以直接访问。

  4.3 网页抓取策略

  爬虫的抓取策略目前普遍的采用的方法有:深度优先、广度优先、非常好的优先三种。由于深度优先在很多情况下会导致爬虫的陷入(trapped)问题,网页弱点爬虫目前采用的是深度优先和非常好的优先方法组合方法。

  深度优先搜索策略:指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。网页弱点爬虫采用深度优先搜索方法为覆盖指定网站存在弱点的网页。其基本思想是认为与初始URL在一定链接距离内的网页具有弱点相关性的概率很大;并采用将深度优先搜索与网页过滤技术结合使用,先用深度优先策略抓取网页,再将其中无关的网页过滤掉。这些方法的缺点在于,随着抓取网页的增多,大量的无关网页将被下载并过滤,算法的效率将变低,因此网页弱点爬虫采用了非常好的优先搜索策略来弥补这个缺点。

  非常好的优先搜索策略:非常好的优先搜索策略采用基于网页内容的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或几个URL进行抓取。它只访问经过网页分析算法预测为“有用”的网页。

0
相关文章