【问题标题】:CSRF token timeoutCSRF 令牌超时
【发布时间】:2016-05-06 15:18:43
【问题描述】:

本页描述了一个解释 CSRF 攻击 (16.1) 的用例:

https://docs.spring.io/spring-security/site/docs/current/reference/html/csrf.html

但是如果用户确实登录了银行的网站,那么邪恶网站难道不可以通过 GET 请求获取新的 CSRF 令牌,然后在根本不需要用户的情况下制作 POST 吗?

答案一定是否定的,否则CSRF token就没用了,但我不明白为什么?

【问题讨论】:

    标签: csrf


    【解决方案1】:

    答案是“否”,原因是同源政策。

    SOP 意味着来自evil.com 的页面无法读取任何对其可能发送到example.com 的请求的响应。发送请求的最直接方式将被浏览器 (SOP) 阻止,但有许多变通方法。例如,evil.com 可以发送

    • 通过嵌入<img><script><css> 并设置src="http://example.com/path"(或<a href="http://example.com/path">)来获取请求。
    • 通过提交表单来发布请求。

    由于evil.com 无法读取任何响应,因此无法读取 CSRF 令牌。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-12
      • 1970-01-01
      • 2014-05-17
      • 2011-09-24
      • 2014-04-29
      • 2016-01-31
      • 2014-07-07
      相关资源
      最近更新 更多