用于计算会话id随机性的python代码



我有一个1000个会话ID的列表。会话id的长度为每个32个字符。我可以使用什么最有效的算法来确定每个字符级别的随机性或变化?我是python的新手,有人能帮我开发同样的python代码片段吗?仅供参考,如果令牌长度为10个字符,Burpsuite中的Sequencer工具会为每个10个字符的位置提供一个随机性图。(我不知道算法)

我不知道Burp是如何做到的,但确定每个字符级别的变化的一种方法是对会话ID中的每个位置进行字符频率分析。

前提是,您希望所有字符都同样可能出现在所有会话ID的某个位置(字符的分布是均匀的)。假设您已经收集/生成了100个会话ID,这些ID是数字(因此每个位置的字符可能是0-9),您预计每个数字在每个位置会出现100/10=10次。

现在,对于序列中的每个位置,构建一个直方图,显示一个角色在所有会话ID中实际出现在该位置的时间。

要想弄清楚你在每个位置观察到的角色分布的可能性有多大,假设你希望他们是均匀分布的,你可以使用像卡方检验这样的统计检验。

我在这里使用Chi Squared测试编写了一个简单的Python字符计数测试仪:https://github.com/decbis/salr.我将来会添加更多的测试。

最新更新