主要观点:
- 介绍了 Okta AD/LDAP DelAuth 漏洞,该漏洞在生成 AD/LDAP DelAuth 的缓存密钥时存在内部识别的漏洞,bcrypt 算法用于生成缓存密钥,特定条件下仅提供用户名和之前成功认证的存储缓存密钥即可认证,bcrypt 有最大 72 字节密码长度的限制。
- 展示了通过代码演示漏洞,如用不同方式处理缓存密钥和密码的验证。
- 指出使用 bcrypt 处理未受限输入易突破 72 字节限制是设计缺陷,一些 bcrypt 库拒绝接受长于 72 字节的输入,强调要有合理默认值。
- 提到“修复”该漏洞是将哈希函数改为 PBKDF2(比 bcrypt 差但符合 FIPS),并推荐使用 argon2id 或 scrypt 更好的哈希算法,还可使用 SHA-256 哈希作为替代缓解措施。
关键信息:
- 漏洞日期:2024 年 10 月 30 日。
- bcrypt 限制:最大密码长度 72 字节。
- 代码示例展示漏洞及不同哈希处理方式。
- 推荐的更好哈希算法:argon2id、scrypt。
- 新增 SHA-2 哈希作为替代缓解措施。
重要细节:
- 给出了用不同语言(Python、Go)编写的展示漏洞和处理的代码示例。
- 解释了使用不同哈希算法的优缺点及可能存在的问题,如碰撞攻击等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。