state参数如何阻止CSRF攻击

问题描述 投票:0回答:1

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

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

oauth
1个回答
0
投票

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

如果说“package”你只是指HTTP流量(中间人攻击),那么如果你使用HTTPS协议 - 什么都不能被劫持。这就是强烈建议仅通过HTTPS使用OAuth的原因。

© www.soinside.com 2019 - 2024. All rights reserved.