防止 cookie 欺骗
Posted
技术标签:
【中文标题】防止 cookie 欺骗【英文标题】:Preventing cookie spoofing 【发布时间】:2017-01-12 23:45:07 【问题描述】:我有一个已加密的 JWT,并希望存储在 HttpOnly 安全 cookie 中并通过 SSL 发送。但是由于我在第一次访问我的网站时没有设置 cookie,所以在我创建 cookie 之前,如何阻止某人创建与我想要创建的 cookie 具有相同名称和值的 cookie?基本上,如果他们在登录之前欺骗 cookie,也就是我实际创建 cookie 的时候怎么办?
似乎我必须确保我的 cookie 总是首先以某种方式创建以防止这种情况发生,因为 Httponly 会阻止这种情况,直到我创建我的 cookie 才会生效,对吧?有没有什么东西可以防止/规避这种情况?
【问题讨论】:
【参考方案1】:如果有人可以欺骗 JWT,这意味着您用于签署这些令牌的秘密已被泄露。没有解决方案可以解决此问题,只能更改您的密码。
否则,如果 cookie 存在无法验证的数据,那么您拒绝 cookie(删除它)并且不继续请求(例如返回 401 状态)。
【讨论】:
解密和读取 JWT 不是我主要关心的问题。我不确定我应该如何验证 cookie 本身是否完好无损,因为我只能根据规范从 Servlet API 中的 HttpRequest 获取 cookie 的名称和值。我不知道如何验证 cookie 内容,如果它看起来结构良好,但被欺骗了。 查看内容即可。那是你的 jwt 令牌。以上是关于防止 cookie 欺骗的主要内容,如果未能解决你的问题,请参考以下文章
如何防止经过身份验证的用户欺骗 RESTful API 调用