1. Support Center
  2. 文档

Burp Extender

Burp Extender允许您使用Burp扩展名,以使用您自己的代码或第三方代码来扩展Burp的功能。 您可以加载和管理扩展,查看有关已安装扩展的详细信息,从BApp商店安装扩展,查看当前的Burp Extender API以及配置如何处理扩展的选项。

Burp扩展可以通过多种方式自定义Burp的行为,例如修改HTTP请求和响应,自定义UI,添加自定义扫描程序检查以及访问关键的运行时信息,包括代理历史记录、目标站点地图和扫描程序问题。

有关创建自己的Burp扩展的帮助,请参见主要扩展性文档。

加载和管理扩展

下表显示了所有已安装扩展的列表。 您可以使用扩展表旁边的按钮添加、删除和重新排序扩展。 请注意:

扩展详细信息

在扩展名表中选择一个项目会在下面的面板中显示有关该扩展名的信息。

详细信息选项卡显示以下信息:

“输出”选项卡包含扩展的标准输出流的详细信息,而“错误”选项卡包含有关标准错误流的相同信息。 对于每个流,您可以配置是将应用程序的输出定向到系统控制台,还是将其存储到文件中,或显示在UI中。 请注意:

BApp 商店

BApp 商店包含Burp Suite用户编写的Burp扩展,以扩展Burp的功能。

您可以查看可用的BApp列表,安装特定的BApp并为已安装的BApp提交用户评级。

如果无法从运行Burp的计算机访问Internet,则可以从BApp 商店网站下载BApp文件,然后将其手动安装到Burp中。

有些BApp是用Python或Ruby编写的,要求您下载Jython或JRuby,并使用相关程序语言的位置配置Burp。 某些BApp可能需要更新版本的Burp或其他版本的Burp。

Burp Extender API

此选项卡包含可用于创建Burp扩展的API的详细信息。 清单显示了正在运行的Burp版本中可用的API。 从列表中选择接口名称以完整显示接口代码。

您还可以使用“保存界面文件”和“保存Javadoc文件”按钮来保存这些文件的本地副本,以供开发扩展时使用。

扩展器选项

此选项卡包含扩展设置,Java环境,Python环境和Ruby环境的选项。

设置

可以使用以下设置:

Java 环境

这些设置使您可以配置用于执行用Java编写的扩展的环境。 如果您的扩展使用任何库,则可以指定将从中加载库的文件夹。 Burp将在此文件夹和任何子文件夹中搜索JAR文件,并将这些文件包含在用于加载Java扩展的类加载器的类路径中。

Python 环境

这些设置使您可以配置用于执行用Python编写的扩展的环境。 要使用Python扩展,您需要下载Jython,这是用Java实现的Python解释器。 提供以下选项:

注意:由于Jython动态生成Java类的方式,如果加载多个不同的Python扩展,或者多次卸载并重新加载Python扩展,则可能会遇到内存问题。 如果发生这种情况,您将看到类似以下的错误:

java.lang.OutOfMemoryError: PermGen space

通过将Java配置为分配更多的PermGen存储,可以通过在启动Burp时在命令行中添加-XX:MaxPermSize选项来避免此问题。 例如:

java -XX:MaxPermSize=1G -jar burp.jar

Ruby 环境

这些设置使您可以配置用于执行用Ruby编写的扩展的环境。 要使用Ruby扩展,您需要下载JRuby,这是用Java实现的Ruby解释器。 请注意,您可以在此处配置JRuby JAR文件的位置,也可以在启动时通过Java类路径加载JAR文件。

注意:如果加载多个Ruby扩展,则PermGen存储可能会出现与Python环境中所述相同的问题,并且可以通过相同的方式解决该问题。