Ruby Devise 身份验证组件生成的remember_user_tokencookie 令牌在解码时会显示 bcrypt 加盐凭证的一部分。
例如:
remember_user_token=W1sxNF0sIiQyYSQxMSRtSHhGeWd3VkFNdzdxd3VmUE04MWdPIiwiMTUyMTA4NjEzMy4wOTU3Il0%3D--96341f2abb8e9fa777d9ad5199b2231f3d22e1d7
解码为:
[[14],"$2a$11$mHxFygwVAMw7qwufPM81gO","1521086133.0957"]
这个元组的第二部分是 bcrypt 到 salt 的凭据。
由于省略了散列密码部分,我相信恢复密码是不可行的。但是,这似乎不是一个好的做法,我不清楚为什么这个函数被设计为甚至显示用户的一部分哈希凭据。
在哪些情况下,此信息可能会帮助攻击者获得对应用程序的未经授权的访问?
源代码如下: