为什么csrf.html页面可以获得comment页面的userid?
来源:4-1 CSRF攻击简介和演示

iris侵袭
2017-08-17
4-2 演示的时候,为什么csrf页面可以拿到用户的登录态?用户登录后,再打开csrf页面刷新一下,csrf页面是如何拿到userid的?不同页面可以共享cookie么?
写回答
1回答
-
你是指的4分26秒左右,在http请求中看到的userId=1吗?
这里其实要看怎么理解“获得”或者“拿到”这个概念。一般来说,我们说能获得userId,是指可以通过编程的方式取到userId的值。比如csrf页面可以获得userId,是指csrf页面中可以通过js取到userId的值。
在这个例子中,csrf的页面其实是无法获得userId的值的,也就是没有办法通过js读取到userId这个值。要不然就违反了cookie的同源策略。
这个视频中演示的请求是从csrf页面发起的,但是是浏览器直接请求新闻评论接口的,因为请求的是新闻网站,所以会带上新闻网站的cookie,所以这个请求是会带上userId=1的cookie的。但是,在这个请求的全过程中,csrf页面是无法接触到cookie或者userId的值的。
这正是csrf攻击最精妙的地方,它利用的是“用户自己访问网站带上的cookie”,这个过程是合法的,它非法的地方在于,用户是在自己不知道的情况下访问网站的,也就是用户不知情。
032017-08-24
相似问题