这个Man-In-The-Middle攻击如何运作?

Enn*_*oji 18 security django csrf man-in-the-middle

关于其CSRF保护Django文档指出:

此外,对于HTTPS请求,严格的引用检查由CsrfViewMiddleware完成.这对于解决在使用会话无关nonce时在HT​​TPS下可能发生的中间人攻击是必要的,因为HTTP'Set-Cookie'标头(不幸地)被正在与之交谈的客户端接受HTTPS下的网站.(对HTTP请求不进行引用检查,因为在HTTP下,Referer头的存在不够可靠.)

我无法想象这次攻击的工作原理.有人可以解释一下吗?

更新:
Django文档中的措辞似乎意味着存在一种特定类型的中间人攻击(这导致我假设成功的CSRF),它与会话无关的随机数(但不是特定于事务) nonce等,我想)并涉及使用'Set-Cookie'标题.
所以我想知道这种特定类型的攻击是如何起作用的.

qua*_*oic 5

攻击者可以使用 Set-Cookie 设置 CSRF cookie,然后在 POST 表单数据中提供匹配的令牌。由于该站点没有将会话 cookie 与 CSRF cookie 绑定在一起,因此它无法确定 CSRF 令牌 + cookie 是真实的(对其中一个进行哈希等操作将不起作用,因为攻击者只能获取有效的一对)直接从站点,并在攻击中使用该对)。

直接来自 django 项目

(我用谷歌搜索了会话独立随机数。)