为什么token不能在未知的情况下在伪造请求中发送,发送请求时不是都是浏览器提供吗?

csrf中伪造的请求可以在不得到cookie的情况下在请求头中带上cookie,为什么token不能在未知的情况下在伪造请求中发送,发送请求时不是都是浏览器提供吗?

阅读 1.8k
2 个回答

这么来说吧,Cookies是浏览器自动添加的。这是CSRF攻击的原理。

但是token是无法由浏览器添加的,无法被跨站得到的,这是CSRF的前提,CSRF中的CS就是Cross Site,跨站。
token存在的意义就是,获取token时,将token放在跨站无法得到的数据之中,而验证token时,token必须出现在指定位置。

所以token在验证时就肯定不存在cookies之中,也就不会被浏览器自动带上

CSRF的请求是在另外一个域中发出的,自然无法访问正确域的cookie

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题