CSRF 攻击是否有可能读取受害者浏览器上已经存在的全局 JavaScript 变量的内容?
我的计划是让应用程序存储一个 CSRFToken 值,该值在用户成功登录时存储在会话中,然后我将其保存在一个全局可访问的 JavaScript 变量中以供应用程序使用。我将使用 jQuery 自动将此值附加到应用程序中的任何表单发布操作。在服务器端,我将检查值是否匹配,如果未找到匹配项,则完成操作或阻止它。
我的理解是,可以通过多种方法部署 CSRF 攻击,但它们都需要将受害者重定向到 3rd 方站点以执行恶意代码。例如,第 3 方站点可以尝试伪造表单请求,但除非他们知道 CSRFToken 的内容,否则该操作将失败。除非当然..他们可以以某种方式得到它。这可能吗?