BurpSuite使用指南之Sequencer模块(定序器)

BurpSuite使用指南之Sequencer模块(定序器)

一、简介

Burp Sequencer是一种用于分析数据项的一个样本中的随机性质量的工具。你可以用它来测试应用程序的session tokens(会话tokens)或其他重要数据项的本意是不可预测的,比如反弹CSRF tokens,密码重置tokens等。

二、模块说明

Burp Sequencer主要由三个模块组成:

  1. Live capture 信息截取
  2. Manual load 手动加载
  3. Analysis options 选项分析

1:Live capture 信息截取

选项1:Select Live Capture Request

BurpSuite使用指南之Sequencer模块(定序器)

选项2:Token Location Within Response

BurpSuite使用指南之Sequencer模块(定序器)

选项3:Live Capture Options

BurpSuite使用指南之Sequencer模块(定序器)

2:Manual load 手动加载

选项1:Manual Load

BurpSuite使用指南之Sequencer模块(定序器)

3:Analysis options 选项分析

选项1:Token Handling 令牌处理

BurpSuite使用指南之Sequencer模块(定序器)

选项2:Token Analysis 令牌分析

BurpSuite使用指南之Sequencer模块(定序器)

使用说明

Sequencer使用步骤

Burp Sequencer作为一款随机数分析的工具,在分析过程中,可能会对系统造成不可预测的影响,在你不是非常熟悉系统的情况下,建议不要在生产环境进行数据分析。它的使用步骤大体如下:

  1. 首先,确认Burp Suite安装正确,并配置好浏览器代理,正常运行。
  2. 从BurpProxy的历史日志记录中,寻找token或类似的参数,返回右击弹出上下文菜单,点击【Sendto Sequencer】。
    BurpSuite使用指南之Sequencer模块(定序器)
  3. 进入Burp Sequencer的Live Capture面板,选中刚才发送过来的记录,点击【Configure】
    配置需要分析的token或者参数。
    BurpSuite使用指南之Sequencer模块(定序器)
  4. 在弹出的参数配置对话框中,选中参数的值,点击【OK】按钮,完成参数设置。
    BurpSuite使用指南之Sequencer模块(定序器)
  5. 点击【Select Live Capture】,开始进行参数值的获取。
    BurpSuite使用指南之Sequencer模块(定序器)
  6. 当抓取的参数值总数大于100时,点击【pause】或者【stop】,这时可以进行数据分析,点击【Analyze now】即进行数据的随机性分析。
    BurpSuite使用指南之Sequencer模块(定序器)
  7. 等分析结束,则可以看到分析结果的各种图表。
    BurpSuite使用指南之Sequencer模块(定序器)
  8. 当然,我们也可以把获取的数据保存起来,下一次使用的时候,从文件加载参数,进行数据分析。如下图保存数据。
    BurpSuite使用指南之Sequencer模块(定序器)
  9. 当我再次使用时,直接加载数据进行分析即可。
    BurpSuite使用指南之Sequencer模块(定序器)

可选项设置(Analysis Options)

分析可选项设置的目的主要是为了控制token或者参数,在进行数据分析过程中,需要做什么样的处理,以及做什么类型的随机性分析。它主要由令牌处理(Token Handling)和令牌分析(Token Analysis)两部分构成。

  • 令牌处理Token Handling主要控制令牌在数据分析中如何被处理,它的设置界面如下图
    BurpSuite使用指南之Sequencer模块(定序器)
    其中Pad short tokens at start / end 表示如果应用程序产生的令牌是具有可变长度的,那么这些令牌在数据分析前都需要被填充,以便于进行的统计检验。你可以选择是否填充在开始位置或每个令牌的结束位置。在大多数情况下,在开始位置填充是最合适。 Padwith 表示你可以指定将用于填充的字符。在大多数情况下,数字或ASCII十六进制编码的令牌,用“0”填充是最合适的。 Base64-decode before analyzing表示在数据分析是否进行base64解码,如果令牌使用了base64编码的话,则需要勾选此项。
  • 令牌分析Token Analysis主要用来控制对数据进行随机性分析的类型,我们可以选择多个分析类型,也可以单独启用或禁用每个字符类型级和字节级测试。有时候,执行与启用所有分析类型进行初步分析后,再禁用某些分析类型,以便更好地了解令牌的特点,或隔离由样品表现任何不寻常的特性。其设置界面如下:
    BurpSuite使用指南之Sequencer模块(定序器)
    其中上面两个选项是控制数据分析的字符类型级,它包含Count和Transitions。 Count是指分析在令牌内的每个位置使用的字符的分布,如果是随机生成的样本,所用字符的分布很可能是大致均匀的。在每个位置上分析统计令牌是随机产生的分布的概率。其分析结果图表如下所示:
    BurpSuite使用指南之Sequencer模块(定序器)
    Transitions是指分析样品数据中的连续符号之间的变化。如果是随机生成的样品,出现在一个给定的位置上的字符是同样可能通过在该位置使用的字符中的任一项中的下一个标志的改变。在每个位置上统计分析令牌随机产生到变化的概率。其分析结果图表如下所示
    BurpSuite使用指南之Sequencer模块(定序器)
    下面的几项设置是用于控制数据分析的字节级测试,它比字符级测试功能更强大。启用字节级分析中,每个令牌被转换成一组字节,与设置在每个字符位置的字符的大小决定的比特的总数。它包含的测试类型有以下七种。
    FIPS monobit test——它测试分析0和1在每个比特位置的分配,如果是随机生成的样本,1和0的数量很可能是大致相等。Burp Sequencer 记录每个位是通过还是没通过FIPS试验观测。值得注意的是,FIPS测试正式规范假定样本总数为20000个时。如果你希望获得的结果与该FIPS规范一样严格的标准,你应该确保达到20000个令牌的样本。 其分析结果图表如下所示:
    BurpSuite使用指南之Sequencer模块(定序器)
    FIPS poker test—— 该测试将j比特序列划分为四个连续的、非重叠的分组,然后导出4个数,计算每个数字出现16个可能数字的次数,并采用卡方校验来评估数字的分布。如果样品是随机生成的,这个数字的分布可能是近似均匀的。在每个位置上,通过该测试方式,分析令牌是随机产生的分布的概率。其分析结果图表如下所示:
    与该FIPS规范一样严格的标准,你应该确保达到20000个令牌的样本。 其分析结果图表如下所示:
    BurpSuite使用指南之Sequencer模块(定序器)

FIPS runs tests —— 该测试将具有相同值的连续的比特序列在每一个位置进行划分成段,然后计算每一个段的长度为1,2,3,4,5,和6以及6以上。如果样品是随机生成的,那么这些段的长度很可能是由样本集的大小所确定的范围之内。在每个位置上,使用该分析方法,观察令牌是随机生成的概率。其分析结果图表如下所示:
BurpSuite使用指南之Sequencer模块(定序器)
FIPS long runs test —— 这个测试将有相同值的连续的比特序列在每一个位置进行划分成段,统计最长的段。如果样品是随机生成的,最长的段的数量很可能是由样本集的大小所确定的范围之内。在每个位置上,使用此分析方法,观察令牌是随机产生的最长段的概率。
可能是非随机的。在每个位置,使用此种分析方法,观察令牌是随机发生的概率。
Correlation test ——比较每个位置具有相同值的令牌样本与每一个位置具有不同值的短令牌样本之间的熵,以测试在令牌内部的不同的比特位置中的值之间的任何统计学显著关系。如果样品是随机生成的,在给定的比特位置处的值是同样可能伴随着一个或一个零在任何其它位的位置。在每个位置上,使用此种分析方法,观察令牌是随机生成的可能性。其分析结果图表如下所示:
BurpSuite使用指南之Sequencer模块(定序器)