专业的社区

Burp扩展器

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

  • 阅读时间:5分钟

Burp Extender允许您使用BURP扩展,并使用自己的或第三方代码扩展Burp的功能。你可以加载和管理扩展,,,,查看详情关于安装的扩展,请从Bapp商店,查看电流Burp扩展器API和配置选项对于如何处理扩展。

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

有关创建自己的打bur扩展的帮助,请参阅主要可扩展性文档

要将您自己的扩展名提交给Bapp商店,请关注我们提交指南

加载和管理扩展

该表显示了任何已安装的扩展名的列表。您可以使用扩展表的按钮添加,删除和重新排序扩展。请注意:

  • 显示扩展名的顺序是将调用任何注册侦听器和其他扩展资源的顺序。
  • 可以将扩展名卸载,但保留在表中以启用稍后的轻松重新加载。要切换扩展名的加载状态,而无需将其从列表中删除,请单击复选框。加载列或扩展细节控制板。您可以通过CTRL+单击“加载复选框。这将卸载并重新加载扩展程序,而无需显示确认对话框。
  • 要运行用Python编写的扩展名,您首先需要配置Jython独立jar的位置Python环境选择

扩展细节

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

细节标签显示以下信息:

  • 该扩展是否当前已加载。您可以单击复选框以加载或卸载所选的扩展名。
  • 扩展名称。扩展可以通过编程方式设置其首选名称出现在UI中。如果需要,您可以手动编辑此名称。
  • 扩展的类型(Java或Python)。
  • 加载扩展名的文件。
  • 扩展名中使用的方法,听众和其他资源的详细信息。

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

  • 基于UI的输出窗口的尺寸有限,不适合重型日志记录。
  • 扩展负责将其输出和错误消息引导到BURP分配给其的正确流,并通过扩展性API在编程上可用。不兑现此功能的扩展可能会直接将输出直接引向系统控制台,而不管此处指定的设置如何。

Bapp商店

Bapp商店包含Burp Suite用户撰写的BURP扩展,以扩展Burp的功能。

您可以查看可用的BAPP列表,安装特定的BAPP,并为已安装的BAPP提交用户评分。你可以提交您自己的扩展到Bapp商店。

如果您没有从运行打bur的计算机访问的Internet访问,则可以从BAPP商店网站beplay体育能用吗并手动将它们安装到打bur中。

一些Bapp用Python或Ruby编写,要求您下载Jython或Jruby,并且配置打bur与相关语言口译员的位置。一些巴普可能需要更近期的Burp版本或不同版本的Burp。

Burp扩展器API

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

您也可以使用保存接口文件保存Javadoc文件按钮保存这些文件的本地副本,以便在开发扩展时使用。

注释扩展开发人员

通过调用从扩展程序发出新请求时iburpextendercallbacks.makehttprequest(),您可以免费发送水壶请求使用HTTP/2格式。这使您能够开发扩展以测试HTTP/2独家漏洞。

但是,目前不可能将扩展名修改由BURP发出的水壶请求。这是因为他们只能通过API访问它们的归一化http/1式表示。

扩展器选项

此选项卡包含用于的选项扩展设置, 这爪哇环境, 这Python环境,和红宝石环境

设置

以下设置可用:

  • 是否在启动上自动重新加载扩展。如果选择此设置,您仍然想在不自动重新加载任何扩展名的情况下重新启动BURP,但是您可以使用命令行标志开始打bur- 可延伸 - 延伸。这将防止Burp自动重新加载任何扩展。
  • 是否在启动上自动更新已安装的BAPP。

爪哇环境

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

Python环境

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

  • Jython独立罐子文件的位置- 这是您下载Jython的位置。您必须下载独立版本的Jython。
  • 用于加载模块的文件夹- 此设置是可选的,可用于指定一个文件夹,从该文件夹中,Python解释器应尝试从该文件夹中加载扩展名所需的模块。如果配置,此选项会导致Burp更新Pythonsys.path具有指定位置的变量。如果您创建了自己的Python库集以在多个单独的扩展名中使用,则使用此选项很有用。

笔记

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

java.lang.outofmemoryerror:permgen空间

您可以通过配置Java来避免此问题,以分配更多的Permgen存储-XX:MaxPermsize开始打bur时,命令行的选项。例如:

Java -XX:MaxPermsize = 1G -Jar burp.jar

红宝石环境

这些设置使您可以配置为执行Ruby编写的扩展的环境。要使用Ruby Extensions,您将需要下载Jruby,这是Java中实现的Ruby Denterer。请注意,您可以在此处配置Jruby Jar文件的位置,也可以通过Java Class Path在启动上加载JAR文件。

笔记

如果您加载了几个红宝石扩展,则可能会出现相同的问题,因为Permgen存储Python环境,问题可以以相同的方式解决。