一.Comparer的介绍
Burp Comparer是一个简单的工具,用于在任意两项数据之间进行比较(视觉“差异”)
常见用途如下:
-
在查找用户名枚举条件时,您可以使用有效和无效的用户名比较对失败登录的响应,以查找响应中的细微差异。
-
当入侵者攻击导致一些非常大的响应,其长度不同于基本响应时,您可以比较这些响应以快速查看差异所在。
-
当使用布尔条件注入和其他类似测试测试盲SQL注入错误时,您可以比较两个响应,以查看注入不同条件是否导致响应的相关差异
将数据加载到Comparer中的方式:
-
直接从剪贴板粘贴它
-
从文件加载它
-
在Burp中的任何位置选择数据,然后从上下文菜单中选择“Send to Comparer”
进行比较
每个加载数据项都显示在两个相同的列表中。要执行比较,请从每个列表中选择一个不同的项目,然后点击"comparer"按钮
-
字比较 - 此比较基于空白分隔符标记每个数据项,并标识将第一个项转换为第二个项所需的令牌级编辑。当在单词级别存在比较项目之间的有趣差异时,例如在包含不同内容的HTML文档中,它是最有用的。
-
字节比较 - 此比较标识将第一个项目转换为第二个项目所需的字节级编辑。当比较项之间存在有趣的差异存在于字节级时,例如在特定参数或cookie值中包含微妙不同值的HTTP请求中,它是最有用的
注意:字节级比较的计算密集程度要高得多,并且通常只有在单词级别比较无法以信息方式识别相关差异时才应使用此选项。
当您开始比较时,会出现一个新窗口,显示比较结果。窗口的标题栏指示两个项目之间的差异总数(即编辑)。两个主要面板显示颜色化的比较项目,以指示将第一个项目转换为第二个项目所需的每个修改,删除和添加。
您可以以文本或十六进制形式查看每个项目。选择“同步视图”选项将使您能够同时滚动两个面板,以便在大多数情况下快速识别有趣的编辑
二.Extender的介绍
Burp Extender允许您使用Burp扩展,使用您自己的或第三方代码扩展Burp的功能。您可以加载和管理扩展,查看已安装扩展的详细信息,从BApp Store安装扩展,查看当前的Burp Extender API以及配置扩展处理方式的选项。
以我的为例:添加CSRF和Sqlmap两个模快
三.Extender的构造
Module1:Extensions
详细信息选项卡显示以下信息:
-
扩展程序当前是否已加载
-
扩展类型
-
加载扩展名
输出选项卡包含扩展输出流的详细信息:
-
基于UI的输出窗口的大小有限
-
扩展负责将其输出和错误消息定向到Burp已分配给它们的正确流,并通过可扩展性API以编程方式提供
Module2:BApp商店
BApp商店包含由Burp Suite用户编写的Burp扩展,以扩展Burp的功能
Module3:APIS
此选项卡包含可用于创建Burp扩展的API的详细信息。该清单显示了正在运行的Burp版本中可用的API。从列表中选择接口的名称以完整显示接口代码
Module4:Options
包含扩展设置,Java环境,Python环境和Ruby环境的选项
Python环境:要使用python扩展,需要下载Jython,它是一个用Java实现的Python解释器。可以使用以下选项
-
Jython独立JAR文件的位置 - 这是您下载Jython的位置。您必须下载独立版本的Jython。
-
用于加载模块的文件夹 - 此设置是可选的,可用于指定Python解释器应尝试从中加载扩展所需模块的文件夹。如果已配置,则此选项会导致Burp 使用指定的位置更新Python sys.path变量。如果您已创建自己的一组Python库以用于多个单独的扩展,则使用此选项很有用
注意:
由于Jython动态生成Java类的方式,如果加载多个不同的Python扩展,或者多次卸载和重新加载Python扩展,则可能会遇到内存问题。如果发生这种情况,您将看到如下错误:
java.lang.OutOfMemoryError:PermGen空间
您可以通过将Java配置为分配更多PermGen存储来避免此问题,方法是在启动Burp时向命令行添加-XX:MaxPermSize选项。例如:
java -XX:MaxPermSize = 1G -jar burp.jar