如果我声称对于今天的 stateles 环境不存在任何针对 CSRF 的可靠保护,我是对的吗?我有一个需要保护免受 CSRF 攻击的 RESTful 服务(使用 RESTEasy 构建)。我搜索了无状态 CSRF 预防,但我发现只有这篇关于双重提交的文章。根据对本文的评论,这种方法不是一种安全的对策。
那么,对于这种攻击,还有其他可靠的对策吗?
如果我声称对于今天的 stateles 环境不存在任何针对 CSRF 的可靠保护,我是对的吗?我有一个需要保护免受 CSRF 攻击的 RESTful 服务(使用 RESTEasy 构建)。我搜索了无状态 CSRF 预防,但我发现只有这篇关于双重提交的文章。根据对本文的评论,这种方法不是一种安全的对策。
那么,对于这种攻击,还有其他可靠的对策吗?
RESTful 服务是“无状态的”,除非涉及到身份验证。
身份验证是一种无法避免的状态,因此在 RESTful 设计中是允许的。在 RESTful 服务中,此状态通常实现为身份验证令牌,或者在 OAuth 的情况下:身份验证承载令牌。攻击者应该不知道这个令牌,因此是:一个合适的CSRF 同步令牌。
毕竟,如果攻击者知道身份验证令牌,他就不需要 CSRF 来访问 API,但他可以。