业务逻辑记录器是一项新的独特的Acunetix功能,使您无需大量的手动工作或其他非自动化工具即可测试更多的Web应用程序。大多数自动化的Web漏洞扫描程序没有任何机制可以让您使用复杂的业务逻辑来测试应用程序。在本文中,我们解释了业务逻辑记录器如何工作以及何时需要使用它来测试Web应用程序。

Web应用程序在后台处理用户输入数据,但是自动扫描仪无法识别此数据的含义。在许多情况下,应用程序的行为可能会有所不同,具体取决于用户选择或输入的数据。这是当您需要一个工具来让您“解释”漏洞扫描器时,当用户输入其他数据时会发生什么。

多步骤Web表单及其变体

许多Web应用程序使用多步骤Web表单。这是因为某些业务流程需要在步骤2中收集不同的数据,具体取决于用户在步骤1中提供的信息。

购物车通常是多步骤表格。他们需要收集个人详细信息,然后收集帐单和送货地址,然后收集付款信息,然后完成业务流程。航空公司预订站点通常还使用多步骤表单。

这里要记住的关键概念是一个字段(或更正确地说,一个字段中的不同值或值范围)会导致Web应用程序中的不同工作流路径。例如,考虑一家租车公司向其用户提供用于预订租车的Web表单。这种形式的典型字段是出生日期(以验证驾驶员的年龄)。在此假设示例中,此类字段可能有3种变化:

  • 如果输入的驾驶员年龄为65岁或以上或20岁以下,则该网络表单可以简单地停止用户,并告知他们该年龄段的驾驶员无法租车。
  • 如果输入的驾驶员年龄在26到64岁之间,则在遵循正常的汽车租赁程序时,网络表单将以多步骤表单的形式将用户带到下一步。
  • 最后,如果输入的驾驶员年龄在21到25岁之间,则网络表单会将用户引导至多步骤表单中的另一个中间步骤,要求用户确认并接受与该年龄范围相关的其他保险费用。

由于BLR允许我们记录许多序列(每个变体有效地记录一个序列),从而确保扫描程序可以到达所有有效变体以进行漏洞测试,因此这种情况非常适合业务逻辑记录器。

业务逻辑字段约束

某些Web表单被设计为要求特定字段使用一组受限的值,扫描仪引擎可能不一定会“猜测”这些值。

这是具有字段约束的多步骤Web表单的一个相对普遍的示例,如果没有业务逻辑记录器的帮助,自动扫描程序可能无法正确导航该字段:

第1步:
Acunetix业务逻辑记录器
第2步:
Acunetix业务逻辑记录器
第三步:
Acunetix业务逻辑记录器
步骤4:
Acunetix业务逻辑记录器

在此示例中,这些字段可能看起来非常“正常”。但是,Web应用程序可能会根据电话号码中提供的值的组合来智能地执行一些验证 国家代码 步骤1中的字段和 邮递区号 步骤2中的字段。例如,如果 国家代码 is set to 1 (美国的国家/地区代码), 邮递区号 可以进行验证以确保该值的格式确实适用于该国家/地区。

使用业务逻辑记录器,您可以轻松地在Web应用程序中记录工作流逻辑,通过克服此类约束障碍来扩大扫描器的覆盖范围。这意味着可以成功到达并扫描表单的步骤3和步骤4。

使用业务逻辑记录器

在上面的示例中,让我们使用业务逻辑记录器记录业务逻辑。

要输入业务逻辑记录器:

  1. 点击 目标 menu option
  2. 单击一个目标进行编辑
  3. 向下滚动到 业务逻辑记录器 section
  4. 点击 新BLR button

在业务逻辑记录器中,只需导航到需要记录业务逻辑的元素(例如,多部分Web表单),然后单击 记录 button.

Acunetix业务逻辑记录器

下图显示了多步骤表单的步骤1上正在运行的业务逻辑记录器,右侧面板显示了已记录的操作。

Acunetix业务逻辑记录器

在下图上,您可以看到我们已经成功完成了第2步,成功插入了对 国家代码 1 我们在步骤1中输入的内容。当您浏览多步骤表单的所有字段时,BLR继续记录操作。

Acunetix业务逻辑记录器

在下图中,您看到第3步已完成,并且BLR在您从一个字段移至下一个字段并插入适当的值的同时继续记录动作

Acunetix业务逻辑记录器

多步骤表单已完成。您可以使用  按钮以确认业务逻辑记录器捕获的步骤。最后,点击 保存 BLR按钮可存储记录的操作,以供下次扫描使用。

Acunetix业务逻辑记录器

Acunetix业务逻辑记录器用例摘要

总而言之,Acunetix业务逻辑记录器(BLR)功能旨在对特定情况进行有效测试,否则将使扫描程序无法访问Web应用程序的所有区域:

  • 它允许您定义多个输入序列,以允许扫描仪访问和测试多步Web表单或其他Web应用程序工作流的所有变体。
  • 它允许您定义满足特定限制的输入序列,以到达Web应用程序的各个部分,否则自动扫描程序将无法访问和测试这些部分。

最新版本的Acunetix v13中的每个目标都可以使用业务逻辑记录器。

资源://www.acunetix.com/blog/docs/how-to-use-acunetix-business-logic-recorder/