Burp Sequencer 究竟如何计算它得出的值?

信息安全 Web应用程序 打嗝套件
2021-09-11 08:11:17

我正在为客户测试基于 SAP 的 Web 应用程序。我们通常做的一项检查是分析持有会话令牌的 cookie,以确保它足够随机并且您无法预测下一个有效令牌。我们使用 Burp 序列器来做到这一点。这一次我注意到 cookie 的开头似乎有大量的静态数据。我对其进行了 Base64 解码,发现前 130 个字符(文本)包含用户名、客户代码和日期/时间。我相信这是 SAP 的一个已知“功能”。
我在报告中难以解释的是解码器的结果如何与音序器匹配。例如 - 在 cookie 中的明文中,静态数据应从位置 0 开始并在字符 130 处结束 - 但这与序列器中字符分析中看到的值不对应 - 总共显示的字符数也不对应到 cookie 中的实际字符数。我可以看到音序器中的静态部分,甚至是时间部分变化的熵峰值,我只是无法关联字符位置。此外,当我查看定序器中的位分析时,这些值似乎是颠倒的,因此在序列开始时看不到静态值 - 我可以在结尾看到它。

我希望有人可以向我解释我所看到的,非常感谢您的帮助。

1个回答

对 Burp Sequencer 为测试随机性而执行的统计测试类型进行了解释。以下是最初的高级描述,该页面继续描述运行的各个测试的特征,其中包括令牌数据的字符和位分析。

Burp Sequencer 采用标准的随机性统计测试。这些是基于根据证据样本检验假设的原则,并在假设假设为真的情况下计算观察到的数据发生的概率:

  • 要测试的假设是:令牌是随机生成的。
  • 如果令牌是随机生成的,则每个测试都会观察样本的特定属性,这些属性可能具有某些特征。
  • 在假设为真的假设下计算观察到的特征发生的概率。
  • 如果该概率低于某个水平(“显着性水平”),则该假设被拒绝并且令牌被认为是非随机的。

希望这会有所帮助。