首页 > 解决方案 > Axios 获得不同的 X-CSRF 令牌,然后是 Postman

问题描述

为什么我从 axios 请求中获得的 x-csrf 令牌与从邮递员获得的不同?这就是我得到它的方式

headers: {
  "X-CSRF-Token": "FETCH"
}

此外,我无法在 Postman 中使用我的 axios 请求中的 x-csrf 令牌,它被拒绝并显示它不是有效的 x-csrf 令牌的错误消息

每次我发出 GET 请求时,来自 axios 的令牌也不同。来自 Postman 的令牌在 10-15 分钟内保持不变。

来自邮递员的令牌:t7HbFUE0sgE4vM36BN_u_Q==

来自 Axios 的令牌:16c47S-pA5oxZu6t_pUi8Q==

标签: javascriptgetaxiospostmantoken

解决方案


为什么我从 axios 请求中获得的 x-csrf 令牌与从邮递员获得的不同?

如果攻击者可以预测将给予用于攻击的浏览器的令牌,那么 CSRF 防御将毫无用处。

为每个…生成一个唯一的 CSRF 令牌(通常是浏览器会话,有时是页面加载,有时是介于两者之间)并与(通常)具有会话/cookie 的特定客户端相关联。

Portswigger 对 CSRF 有很好的概述


推荐阅读