默认情况下,Rails中的表单后期CSRF保护会为用户创建一个仅在用户会话更改时更改的真实性令牌。我们的一位客户对我们的网站进行了安全审核,并将其标记为问题。
审计员的声明是,如果我们还有一个XSS漏洞,攻击者可以抓取另一个用户的真实性令牌并利用它进行CSRF攻击,直到用户会话到期为止。
但在我看来,如果我们有一个像这样的XSS漏洞,攻击者可以轻松地抓住另一个用户的会话cookie并直接登录该用户。或者甚至只是在用户受到攻击时从脚本调用我们的REST Api。在这种情况下,能够进行CSRF攻击似乎并不会更糟......问题在于XSS漏洞。
我错过了什么吗? Rails中的默认CSRF保护是否存在实际问题?