我正在玩 Mojolicious 并看到会话 cookie 看起来很奇怪:
mojolicious=---8ec2dbb1e9eeb295f610826487a011f3516106cb8a814530e73212a1e6a10d8f
你知道这些“WlpaWlpaWlpaWlpaWlpaWlpa...”是什么意思吗?我看到签名没问题,数据没问题,但是WlpaWlpaWlpaWlpaWlpaWlpa...在base64中这是ZZZZZZ...它们来自哪里?我只有这个代码来设置会话:
$self->session(user => 'sebastian');
Run Code Online (Sandbox Code Playgroud)
我正在 clean 项目上玩它。协议:HTTP(无 SSL)
莫欢乐 9.28。
此行为已添加到Pull Request #1791中的 Mojolicious 中。填充的目的是让暴力破解用于签署安全 cookie(例如会话 cookie)的应用程序机密变得更加困难。填充字符的选择Z和填充长度似乎是任意选择的。
我认为这种填充作为安全措施几乎完全没有意义。由于它是以确定性方式添加的,因此它不会使暴力攻击变得更加困难。在实现时,在 cookie 中包含填充甚至没有帮助,因为 HMAC 签名计算可以在必要时重新添加填充。相比之下,CSPRNG 的填充,在应用程序的生命周期内不重复使用填充模式,可能会达到预期的效果。比较密码哈希值的盐的概念。
您偶然发现这种未记录的行为表明了多个方面:
如果您想保护您的应用程序机密免受暴力攻击,那么创建一个适当长度(至少 128 位熵)的强大的加密安全机密非常重要。理想情况下,您的应用程序还会定期轮换机密。Mojolicious 支持拥有多个活动密钥,因此添加新密钥不会使现有会话失效。
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |