【发布时间】:2017-04-12 00:01:58
【问题描述】:
如果我理解正确,在 CSRF 攻击中,恶意网站 A 会告诉我的浏览器向网站 B 发送请求。我的浏览器会自动在该请求中包含我的 B cookie。虽然 A 看不到这些 cookie,但如果我已经在 B 中进行了身份验证,则请求看起来是合法的,并且所要求的任何操作都将成功执行。为了避免这种情况,每次我访问包含表单的 B 页面时,我都会收到一个 CSRF 令牌。此令牌与我的会话相关联,因此如果我向 B 发帖,我必须包含此类令牌;否则 B 拒绝我的请求。这种方案的好处是 A 将无法访问该令牌。
我有两个问题:
- 以上描述正确吗?
- 如果是这样,为什么站点 A 不能先告诉我的浏览器向 B 发送 GET,从响应中获取 CSRF 令牌,然后使用令牌现在向 B 发送 POST 吗?请注意,令牌将有效并与我的会话相关联,因为 GET 还包含我的所有 B cookie。
谢谢!
【问题讨论】:
-
同源策略阻止站点 B 以用户身份读取站点 A 上的内容
标签: ajax security browser csrf csrf-protection