如何解决找到使用的加密或散列方法
| 我试图找出客户端应用程序用来返回会话密钥的算法。 当我启动连接时,服务器首先发送一个唯一的会话密钥。然后,客户端必须使用加密或哈希密码进行响应,并将用户名与用户名一起发送到服务器。 客户端和服务器之间的示例网络跟踪:(用户名:serv1ce /密码:test12) 从服务器<< 52 d7 1c 3f 9f 2c 05 c9收到的应用程序(一次会话密钥) 应用已发送到服务器>> 11 83 2d 7d ff 0c 51 8c 53 45 52 56 31 43 45 20 \“ 53 45 52 56 31 43 45 20 \”部分是明文形式的用户名,为字节值(serv1ce)。 有谁知道如何使用密码“ test12”和64位(8字节)会话密钥“ 52 d7 1c 3f 9f 2c 05 c9”创建了字节“ 11 83 2d 7d ff 0c 51 8c”?解决方法
如果他们使用的是加密安全的哈希,那么原则上从输入和输出中就不能发现这一点。
实际上,它们返回的是8个字节,即64位,这表明它们正在使用MD5的某些变体。如果他们遵循典型的做法,则很可能以某种方式创建了一个字符串,其中包括用户名,密码,会话密钥和秘密哈希的某种组合,然后对其进行哈希处理。 (请注意,我说的是典型实践,而不是最佳实践。最佳实践是为此目的使用缓慢的东西来进行计算,例如bcrypt。)如果您找出魔术组合,则可以找到答案。
您有两种不错的方法。最简单的是蛮力搜索。如果您搜索“ 0”,您会发现大量工具,可将MD5计算卸载到视频卡上。这些是蛮力搜索的理想选择,并且可以让您快速尝试上述主题的惊人变体。 (这种攻击的可行性就是为什么人们应该对这类东西使用bcrypt。)
另一个是您拥有该应用程序。有多种方法可以跟踪应用程序在执行计算时实际发生的情况。成功弄清楚了,您将得到答案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。