我有一个1000个会话ID的列表。会话ID长度是每个32个字符。什么是我可以用来确定每个角色级别的随机性或变化的最有效的算法?我是python的新手,有人可以帮我开发一个python代码片段吗? 仅供参考,如果令牌长度为10个字符,Burpsuite中的Sequencer工具会为每个10个字符的位置给出一个随机图。 (算法未知)用于计算会话ID随机性的Python代码
0
A
回答
0
我不知道Burp如何去做,但确定每个字符级别变化的一种方法是对会话ID中的每个位置进行字符频率分析。
前提是,您希望所有角色在所有会话id(角色分配均匀)上的位置出现的可能性相同。假设您已经收集/生成了100个数字的会话ID(因此每个位置的可能字符都是0-9),您会希望每个数字在每个位置都会显示100/10 = 10次。
现在,对于序列中的每个位置,都会生成一个直方图,并显示角色在所有会话ID中实际出现在该位置的时间。
要想知道在每个位置观察到的角色分布的可能性有多大,因为您希望它们均匀分布,则可以使用统计测试,如Chi Squared test。
我已经写了一个简单的Python字符数测试器,在这里使用Chi Squared测试:https://github.com/decbis/salr。我将在未来添加更多测试。
相关问题
- 1. 会话ID随机更改
- 2. 通过代码计算jBoss AS7会话
- 3. Python计算机 - Android电话
- 4. 会话ID随机增长很大
- 5. 生成随机会话ID OpenTok
- 6. 随机替代密码(Python)
- 7. 计算随机数
- 8. 随机性算法
- 9. Python计算器代码
- 10. Powershell远程计算机会话
- 11. 用于计算闰年的Java代码
- 12. 用于在android中计算的代码
- 13. 随机密码的代码
- 14. 独特的计算机ID
- 15. 随机IIS会话超时
- 16. 随机会话无效
- 17. 跨计算机的同步代码
- 18. 代码随机化
- 19. Jquery代码适用于JsFiddle,但不适用于我的计算机
- 20. php随机数字代码,在整个会话中使用相同的随机数
- 21. 最安全的方式来为cookie生成随机会话ID?
- 22. 用于计算代码块代码复杂度的现有库
- 23. 用Java中的随机运算符计算器的随机分数
- 24. 随机的沃克码python
- 25. 计算python中的代码的计算时间和内存
- 26. 设备ID是计算机
- 27. 计算的代码
- 28. 基于Python的IP地址计算器(IPCALC)代码
- 29. 的CredSSP PowerShell会话使用Kerberos计算机身份验证
- 30. Python代码扫描网络以获取计算机名称
如果您担心生成您的ID的散列函数的有效传播,您可以查看使用的散列算法。如果它是md5或sha1,那么你很好,没有什么可担心的。 – phs 2012-07-17 04:44:51
其传统的应用程序,已经使用了一些自定义算法(使用时间戳来生成ID)。我看到一些特殊字符位置的异常不够随机 – Mechanic 2012-07-17 05:26:47
“特定字符位置的异常”并不等同于安全问题,我认为1000个会话ID对于这种类型的“n”来说不够大无论如何分析。应该做的是分析所使用的*算法*,而不是所创建的*密码*。不,我不知道任何这样的工具(可能是出于上述原因)。 – DevSolar 2012-07-17 12:45:13