当前位置:  开发笔记 > 编程语言 > 正文

防止跨站点请求伪造 - 永远不要依赖于在Cookie标头中发送到您的服务器的SessionID

如何解决《防止跨站点请求伪造-永远不要依赖于在Cookie标头中发送到您的服务器的SessionID》经验,为你挑选了1个好方法。

我正在阅读教程

http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ

它指出

请记住 - 您绝不能依赖于cookie标头中发送到服务器的sessionID; 只查看您的GWT应用程序在消息的有效负载中明确发送到您的服务器的sessionID.

用于防止http://en.wikipedia.org/wiki/Cross-site_request_forgery#Example_and_characteristics

有了这个神话,是否足以防止上述攻击?



1> Sripathi Kri..:

是的,这足以防止跨站点请求伪造.

cookie中的sessionid不可信任.假设用户登录到mysite.com并且会话ID在cookie中.现在,用户点击了指向evilsite.com的链接.evilsite.com有这样的代码


该浏览器将做出mysite.com的请求,并且它也将随会话ID发送cookie.这里要理解的是,evilsite.com 无法读取cookie,但它仍然可以完成工作.

浏览器同源策略阻止evilsite.com读取会话标识符,无论是在cookie中还是嵌入在html页面中.但是因为浏览器会自动将cookie发送到您的服务器,即使该资源是从另一个域中的html代码请求的,您也有XSRF.

为防止这种情况,建议将会话标识符作为请求参数.如果将其添加为请求参数,则evilsite.com无法访问标识符,因此无法将其放入img src属性中.

但是,请记住,如果您的站点存在XSS漏洞,则没有任何东西可以阻止您使用XSRF.换句话说,如果你有XSS漏洞,攻击者甚至不会关心做XSRF.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有