最新的主要版本Burp介绍了处理Burp数据和配置的一些新功能。该博客文章涵盖以下领域:

  • Burp项目文件
  • 更改Burp的配置选项
  • 配置文件
  • 新的创业向导
  • 新的API
  • 新的命令行参数
  • 过渡现有数据和配置
  • 功能路线图

Burp项目文件

Burp的新项目文件用于保存特定工作的所有数据和配置。在工作时,数据将逐步保存到文件中。当您重新开放现有项目时,BURP重新加载了项目的数据和配置,您可以恢复工作的工作。

BURP项目文件是现有状态文件功能的替代品,并以各种方式优越:

  • 数据自动实时保存。完成后,无需专门保存您的工作。如果Burp异常退出,则保留所有数据。
  • Burp重新打开项目文件比状态文件快得多。在我们的测试中,可以在几秒钟内重新打开几千兆字节的项目文件。
  • Burp的非额外备份功能的一个问题,每个定期备份都消耗了越来越多的磁盘空间。
  • 所有数据都保存在项目文件中,包括一些以前未包含在状态文件中的项目,例如扫描仪的问题活动日志。

注意:32位平台或免费版Burp中,新的项目文件功能不可用。

更改Burp的配置选项

Burp的配置选项已分为两组:用户选项和项目选项。这样做是为了使处理多个单独的项目时更容易使用Burp的配置。

用户级选项是与单个用户的环境和UI有关的那些,包括:

  • 新的“用户选项”选项卡中的所有内容,例如字体设置。
  • 扩展器工具中的选项,包括配置的扩展名列表。
  • 其他工具中与UI相关的选项,例如目标站点映射的选定视图。

项目级选项与在特定目标应用程序上执行的工作有关的工作,包括:

  • 新的“项目选项”选项卡中的所有内容,例如会话处理规则。
  • 单个BURP工具(例如代理和扫描仪)中的非UI相关选项。

用户级选项通常会长期寿命,并在不同的BURP会议上自动保存。项目级别的选项不会以相同的方式自动保存。相反,它们存储在项目文件和配置文件中。

可以在项目和用户级别上定义一些选项,例如上游代理设置。对于这些选项,您可以在用户级别配置普通选项,然后在每项项目的基础上覆盖这些选项。例如,您通常可以使用公司LAN代理来连接到Internet,并且可以在用户级设置中进行配置。对于特定项目,在特定客户端测试内部应用程序或在网站上时,您可能需要使用其他上游代理或根本不使用。您可以在项目级设置中为相关项目配置此功能。

配置文件

您可以使用Burp的新配置文件来管理特定任务的不同配置。例如,在特定客户端工作时,您可能需要加载特定的配置。或者,您可能会为不同类型的扫描创建不同的配置。

单独的配置文件可用于管理用户级和项目级别的选项。

您可以以各种方式加载和保存配置文件:

  • 从Burp菜单中,您可以为所有用户级或项目级选项加载或保存配置文件:

  • 从整个Burp的单个配置面板中,您可以使用新的“选项”按钮加载或保存该面板的配置:

  • 在新的启动向导中,在创建或重新开放项目时,您可以指定一个配置文件,从该文件加载项目级选项:

  • 从命令行启动打bur时,您可以使用新的命令行参数来指定一个或多个配置文件,从其中加载项目级选项。
  • BURP扩展可以通过新API加载或保存项目级配置文件内容。

配置文件使用JSON格式。JSON中使用的结构和命名方案对应于Burp UI中的选项的方式。为特定目的生成配置文件的最简单方法是在Burp UI中创建所需的配置并从中保存配置文件。如果优先,您也可以将现有配置文件手工编辑,因为内容是人类可读和自我记录的:

可以在需要时使用部分配置文件。您可以通过仅通过每个配置面板上的新“选项”按钮或从完整的配置文件中删除不需要的部分来创建部分配置文件。当加载部分配置文件时,该文件中未定义的任何选项都保持不变。这使您可以为共同目的创建小型集中的部分配置文件,并在需要创建所需的总体配置时加载它们。

新的API

扩展程序可以用来管理项目级别的选项:有两个新的API:

void loadConfigfromjson(String Config);
字符串saveconfigasjson(字符串... configpaths);

两种方法都使用在配置文件中使用的新JSON格式处理设置。

加载方法采用一个包含一些配置选项的字符串,并使用指定选项更新burp。部分配置是可以接受的,并且未指定的任何设置都将未修改。

默认情况下,保存方法保存整个项目级配置。要仅包括配置的某些部分,您可以选择提供应包括的每个部分的路径,例如:“ Project_options.connections”。

API仅在项目级选项上运行,并且无法通过API加载或保存用户级选项。

现在,通过名称/值对的地图处理选项以及保存和加载状态文件的旧API方法现在已弃用,并将在未来的某个点上删除。

新的创业向导

Burp推出时,将显示一个新的创业向导。

第一个屏幕使您可以选择打开的BURP项目:

您可以从以下选项中选择创建或打开一个项目:

  • 临时项目- 此选项对于不需要保存工作的快速任务很有用。所有数据都保存在内存中,当Burp退出时会丢失。
  • 磁盘上的新项目- 这将创建一个新项目,将其数据存储在Burp项目文件中。该文件将保留项目的所有数据和配置,并且在您工作时会逐步保存数据。您还可以为项目指定名称。
  • 打开现有项目- 这重新开放了BURP项目文件的现有项目。显示了最近打开的项目的列表以进行快速选择。When this option is selected, the Spider and Scanner tools will be automatically paused when the project reopens, to avoid sending any unintentional requests to existing configured targets.如果首选,您可以取消选择此选项。

注意:您可以稍后通过BURP菜单重命名项目。

下一个屏幕使您可以选择要使用的项目配置:

您可以从以下选项中选择项目配置:

  • 使用BURP默认值- 这将使用Burp的默认选项打开项目。
  • 使用项目保存的选项- 仅在重新开放现有项目时可用,并将使用保存在项目文件中的选项打开项目。
  • 从配置文件加载- 这将使用选定的BURP配置文件中包含的选项打开项目。请注意,仅将重新加载配置文件中的项目级选项,并且将忽略任何用户级选项。显示了最近使用的配置文件的列表以进行快速选择。

新的命令行参数

有两个新的命令行参数,以促进处理BURP项目和配置文件:
- 项目文件=文件名打开指定的项目文件。如果尚不存在,将创建该文件作为新项目。
-config-file =文件名加载指定的项目配置文件。可以重复此选项以加载多个文件。

新的命令行参数对于以下目的特别有用:

  • 从脚本或其他进程自动化打bur时,您可以使用指定的项目文件和配置文件启动BURP。例如,您的CI管道可能会启动BURP,以指定将将项目保存为工件的文件名,以及包含目标范围或扫描选项的详细信息的配置文件。
  • 如果您为共同目的创建不同的配置文件,则可以创建桌面快捷方式,以启动具有不同配置的BURP。当Burp与config-file选项,启动向导将跳过步骤以选择配置文件,从而加快启动过程。

过渡现有数据和配置

BURP的更改可能需要想要继续使用现有数据和配置的用户采取一些行动:

  • 要在现有的BURP状态文件中过渡数据和配置,只需创建一个新的BURP项目,然后以正常方式恢复状态文件。来自状态文件的所有数据和配置都将存储在项目文件中,然后可以直接重新打开,而无需原始状态文件。
  • 现在是用户级选项(例如字体设置)的一部分的设置将自动从早期版本的BURP中延续。
  • 现在是项目级选项的一部分(例如会话处理规则)的设置将不会自动从早期版本的BURP中延续。如果您在本地保存的设置中自定义了这些,并且想在新版本中使用它们,则需要使用旧版本的burp来保存仅配置状态文件,请使用新版本的burp来还原该文件状态文件,然后保存包含项目级选项的配置文件。创建新的Burp项目时,您可以在启动向导中选择该配置文件。

功能路线图

Burp围绕项目和配置的新功能就其自己的角度起作用,但引起了许多理想的功能,这些功能将在未来几个月内添加到BURP:

  • 如果您启动打bur并选择创建一个临时项目,目前不可能改变主意并将工作保存到以后的基于磁盘的项目中。我们计划提供一种方法。
  • 数据在生成时会逐步附加到项目文件上。如果您累积了大量数据,然后在BURP中删除其中的一些数据(例如,通过清除大型代理历史记录),则实际上不会从项目文件中删除数据,并且项目文件不会减小大小。我们计划提供一种压缩项目文件以删除冗余数据并减少其大小的方法。
  • 使用现有状态文件功能,在保存状态文件以选择要包含哪些工具的数据以及是否仅包含范围内的项目时,就有可能。有了新的项目文件功能,BURP的所有数据都将保存到项目文件中。我们计划提供一种保存仅包含选定项目的项目文件的方法。
  • 使用现有状态文件功能,可以将多个状态文件恢复到BURP的同一实例中,以合并早期工作的结果。有了新的项目文件功能,只能在BURP的每个实例中打开一个项目文件。我们计划提供一种导入多个项目文件以创建单个组合项目的方法。
  • 入侵者选项当前未通过新的配置文件功能来处理。我们计划基于新的BURP配置和项目文件,提供一种处理入侵者配置和攻击数据的新方法。

与上述功能的添加同时,将删除一些现有的BURP功能:

  • 新版本已删除了自动备份功能,该功能定期将BURP的状态保存到状态文件中。
  • 与配置选项和状态文件有关的现有API已弃用。
  • 保存新状态文件的能力将在短期内删除。
  • 从长远来看,还可以删除恢复旧状态文件的能力。