我查看了这个软件在我的浏览器中保存的cookie。
正如您所看到的,它保存了6个cookie。其中,我认为对于身份验证很重要的是:
1. ngisessionhash: 当前会话的哈希值 2. ngipassword: 密码的哈希值(可能不是明文密码) 3. ngiuserid: 用户的ID
当然,这些只是我的假设。我不确定ngilastactivity和ngilastvisit是否出于同样的原因而使用。
我的问题是:为什么要使用所有这些cookie进行身份验证?我的猜测可能是生成会话哈希太容易了,因此使用哈希密码和用户ID增加了安全性,但cookie欺骗呢?我基本上将所有基本信息留在客户端。
你怎么想?
第一次更新: 这些cookie的内容是我认为它们包含的。我不确定。 当然,如果调用一个名为ngivbpassword的cookie并包含哈希值,我的猜测是hashedpassword。可能是密码+盐。
我主要关注的是在cookie欺骗攻击下,这些解决方案提供了太多信息。
第二次更新: 这个问题并不想批评这些特定软件的工作方式,而是通过这些答案,我想学习更多关于在Web环境中保护软件的知识。