原文:
https://infosecwriteups.com/bcrypt-account-takeover-due-to-weak-encryption-hr51kdb-4418f6e65907
我最近正在测试一个私有程序,让我们以target.com为例。在“登录”页面上,有一个“ OTP登录”功能。其中将OTP发送到注册的手机号码。

为了检查OTP是否在响应正文中泄漏,我在burp中拦截了“ OTP登录”请求。而且,是的,我是对的。OTP已在响应正文中泄漏了名称为“ otpPassword”,但OTP处于加密格式,即Bcrypt。

借助这个不错的工具 (https://github.com/BREAKTEAM/Debcrypt),我轻松地解密了OTP值并成功接管了受害者的帐户。
步骤:
1. “otpPassword”:”$2a$10$hs/tvUkd4GveEdx/hACRDehWza38Z1ncMAEFeOtG77/l.Ja0ktuQa”
2. 对加密后得值进行解密
3. 该工具成功碰撞出来

4. 登录的OTP为“12345”
5. 登陆成功。
译者按:
加密算法是安全的不代表整个系统是安全的。错误的使用加密算法同样会导致系统沦陷。如果没有加盐的话,使用明文进行碰撞,往往比去破解密文来的更快。译者曾经要破解一个docx的密码,就目前而言docx的密码破解难度是很大的。但是译者通过收集信息,组合出一些可能的密码,再进行hash碰撞,3分钟就碰撞出来了。拿组合好的字典再去碰撞加密hash,在网络安全领域确实是可行的。
本文迁移自知识星球“火线Zone”