企业专业的

爬行

  • 最近更新时间:2022年4月29日

  • 阅读时间:6分钟

扫描的爬网阶段涉及围绕应用程序导航,以下链接,提交表单并在必要时登录,以分类应用程序的内容和其中的导航路径。这项看似简单的任务提出了Burp的履带能够满足的各种挑战,以创建应用程序的准确地图。

核心方法

默认情况下,Burp的爬行者使用Burp的浏览器围绕目标应用程序导航,单击链接并在可能的情况下提交输入。它以有向图的形式构造了应用程序的内容和功能的地图,代表应用程序中的不同位置以及这些位置之间的链接:

代表应用程序中的位置及其之间的链接的定向图

爬虫对应用程序使用的URL结构没有任何假设。根据其内容(而不是用于到达它们的URL)确定(后来重新识别)位置。这使得爬虫能够可靠地处理以下数据的现代应用程序,例如CSRF令牌或CACHE BUSTERS,进入URL。即使每个链接中的整个URL在各种情况下都会发生变化,爬网仍然构建一个准确的地图:

带有短暂URL的应用程序会随时更改

该方法还允许vrawler处理使用相同URL根据应用程序状态或用户与之交互的应用程序:

使用相同URL根据应用程序的状态或用户与之交互的应用程序的应用程序

随着爬网行驶并建立目标应用程序的覆盖范围时,它跟踪尚未完成的图表中的边缘。这些代表在应用程序中观察到但尚未访问的链接(或其他导航过渡)。但是,爬网从未“跳到”待处理的链接并从上下文中访问它。取而代之的是,它要么直接从当前位置导航,要么恢复到开始位置并从那里导航。这尽可能紧密地复制正常用户浏览网站的操作:beplay体育能用吗

恢复到爬网的起始位置

以一种对URL结构没有假设的方式爬行在处理现代Web应用程序方面非常有效,但可能会导致查看“太多”内容的问题。beplay体育能用吗现代网站通常包beplay体育能用吗含大量多余的导航路径(通过页面页脚,汉堡菜单等),这意味着一切都直接链接到其他所有内容。Burp的爬行者采用了各种技术来解决这个问题:它建立了与已经访问过的位置的链接的指纹,以避免冗余地访问它们;它以广度优先考虑新内容的优先级爬行;它具有可构造的截止,可约束爬网的程度。这些措施还有助于正确处理“无限”应用程序,例如日历。

会话处理

当Burp的履带使用Burp的浏览器围绕目标应用程序导航时,它几乎可以自动处理现代浏览器所能使用的任何会话处理机制。无需记录宏或配置会话处理规则告诉BURP如何获得会话或验证当前会话是否有效。

爬虫雇用了多个履带的“代理”来平行其工作。每个代理都代表应用程序使用自己的浏览器导航的独特用户。每个代理都有自己的cookie jar,当应用程序向cookie发出应用程序时会更新。当代理返回开始位置以开始从那里爬行时,清除了曲奇罐,以模拟一个完全新鲜的浏览器会话。

爬虫在围绕周围导航时提出的请求是根据上述响应动态构造的,因此CSRF令牌在URL或表单中,自动处理。这使得ver子可以正确导航使用复杂的会话处理的功能,用户零配置:

在爬网期间自动处理会话令牌

检测应用程序状态的变化

现代的Web应beplay体育能用吗用程序是有状态的,并且由于用户在此期间执行的操作,同一应用程序功能在不同场合返回不同的内容很常见。Burp的爬行者能够检测到其在爬行过程中执行的行动所致的应用状态变化。

在下面的示例中,导航路径公元前导致应用程序从状态1到状态2过渡。链接D到状态1与状态2中的逻辑上不同的位置。广告去空车,而A B C D去填充的购物车。该轨道不仅结论是非确定性的,还能够识别链接D所取决于的状态变化路径。这使爬虫可以可靠地到达填充的购物车位置,从而访问从那里可用的其他功能:

检测爬网期间应用状态的变化

应用程序登录

Burp的爬行者始于一个未经验证的阶段,在该阶段中未提交任何证书。完成此操作后,BURP将在应用程序中发现任何登录和自我注册功能。

如果应用程序支持自我注册,则BURP将尝试注册用户。您还可以配置爬虫以使用一个或多个预先存在的登录名。

然后,爬虫进入身份验证的阶段。它将访问多次登录功能并提交:

  • 自注册帐户的凭证(如果有)。
  • 每个已配置的预先存在帐户的凭据。
  • 伪造的凭据(这些可能会达到有趣的功能,例如帐户恢复)。

对于提交到登录的每组凭据,BURP将爬网登录背后发现的内容。这使爬虫可以捕获不同类型的用户可用的不同功能:

用不同的登录凭据爬行,以达到不同用户可用的不同功能

爬行的挥发性含量

现代Web应用beplay体育能用吗程序经常包含波动性内容,其中“相同”位置或功能将返回在不同场合有很大差异的响应,而不一定是用户采取任何操作的结果。这种行为可能是由因素引起的,例如来自社交媒体渠道或用户评论,内联广告或真正随机的内容(当天的消息,A/B测试等)的因素。

Burp的爬行者能够确定许多挥发性内容的实例,尽管反应不同,但在不同访问中正确重新识别了相同的位置。这使爬虫可以将注意力集中在一组应用程序响应中的“核心”元素上,这在发现有趣的应用程序内容和功能的关键导航途径方面可能是最重要的:

识别HTML页面的核心元素,以及在不同场合更改的变量内容

在某些情况下,在不同场合访问给定的链接会返回响应,而响应太大,无法将其视为“相同”。在这种情况下,Burp的爬网将捕获两个版本的两个不同位置,并将绘制图中的非确定性边缘。只要整个应用程序中的非确定性程度并不太大,BURP仍然可以爬网,并可靠地找到其在非确定性链接背后的内容的方式:

当申请响应有时不确定性时爬行

与Burp的浏览器(浏览器驱动扫描)一起爬行

默认情况下,如果您的计算机似乎支持它,Burp将使用Burp的浏览器用于目标网站和应用程序的所有导航。beplay体育能用吗这种方法提供了几个主要优势,允许bepaly下载 处理现代浏览器可以使用的大多数客户端技术。

关键的好处之一是能够有效爬网javaScript含量较高的内容。一些网站具beplay体育能用吗有使用JavaScript动态生成的导航UI。尽管此内容不存在于RAW HTML中,但BURP扫描仪能够使用浏览器加载页面,执行构建UI所需的任何脚本,然后继续正常爬行。

Burp的浏览器还允许BURP扫描仪处理网站使用JavaScript事件处理程序正式修改请求的情况。beplay体育能用吗爬网可以触发这些事件并执行相关脚本,并根据需要修改任何请求。例如,网站可能会使用JavaSbeplay体育能用吗cript来生成新的CSRF令牌OnClick事件并将其添加到后续请求中。Burp Suite可以与JavaScript活动处理程序可单击的元素进行交互。

如果愿意,您还可以在扫描配置中手动启用或禁用以浏览器为动力的扫描。您可以在下面找到此选项爬网选项>其他>Burp的浏览器选项