状态参数如何防止 CSRF 攻击



在OAuth 2.0页面的页面中说如下: state(推荐)应用程序使用 state 参数来存储特定于请求的数据和/或防止 CSRF 攻击。授权服务器必须将未修改的状态值返回到应用程序。

但我不清楚国家如何防止CSRF攻击。对于我的想法,如果有人抓住了pakage,那么确定请求查询参数也是已知的,所以他可以再次发送回去淡化这个响应。

常见的方法是将state存储在用户的会话中(如果存在),或者将其设置在安全的 httponly cookie 中(如果应用程序是无状态的)。然后在回调函数中比较这些(来自查询的state和来自会话/cookie 的)。

如果说"包"是指HTTP流量(中间人攻击),那么如果您使用的是HTTPS协议 - 则无法劫持任何内容。这就是为什么强烈建议仅通过HTTPS使用OAuth的原因。

最新更新