RESTful 服务的 CSRF 预防

信息安全 应用安全 攻击预防 csrf 网络服务 休息
2021-08-26 18:58:14

如果我声称对于今天的 stateles 环境不存在任何针对 CSRF 的可靠保护,我是对的吗?我有一个需要保护免受 CSRF 攻击的 RESTful 服务(使用 RESTEasy 构建)。我搜索了无状态 CSRF 预防,但我发现只有这篇关于双重提交的文章。根据对本文的评论,这种方法不是一种安全的对策。

那么,对于这种攻击,还有其他可靠的对策吗?

1个回答

RESTful 服务是“无状态的”,除非涉及到身份验证。

身份验证是一种无法避免的状态,因此在 RESTful 设计中是允许的。在 RESTful 服务中,此状态通常实现为身份验证令牌,或者在 OAuth 的情况下:身份验证承载令牌。攻击者应该不知道这个令牌,因此是:一个合适的CSRF 同步令牌

毕竟,如果攻击者知道身份验证令牌,他就不需要 CSRF 来访问 API,但他可以。