我知道他们说CSRF令牌是防止CSRF攻击的最安全的方法,但是如果有人使用XHR检索包含csrf令牌的页面以及表单,然后使用该令牌进行攻击呢?
为什么他们不说“引用”标题是最安全的方式,以防止CSRF的攻击?毕竟,几乎99%的当前正在使用的浏览器将提供"Referer“报头,而攻击者无论如何也无法更改它。(是的,他做不到,除非浏览器/操作系统本身被破坏)
现在我用"referer“头保护我的网站,我真的需要csrf令牌吗?我所有的重要要求都是使用POST而不是GET方法。
发布于 2020-03-27 04:54:18
..。但是,如果有人使用XHR检索包含csrf令牌的页面,该怎么办?
这种跨站点XHR的功能受到相同的原产地策略的限制,并且可以由CORS扩展。如果没有CORS显式地允许跨站点读取和发送凭据(会话cookie),攻击者就不可能执行XHR,其中攻击者首先可以读取响应,响应中的CSRF令牌与现有的用户会话相关联。
换句话说:除非服务器明确允许,否则您将无法通过提议的跨站点XHR获得有用的CSRF令牌。
https://security.stackexchange.com/questions/227826
复制相似问题