博客园的CSRF

CSRF全称 Cross Site Request Forgery,跨站请求伪造。通俗理解:攻击者盗用当前用户身份,发请当前用户的恶意请求:如邮件,银行转账等。 


CSRF原理 




CSRF过程 
登录网站A,生成本地Cookie信息;登录危险网站B,B获取网站A的内容,并向A发送请求操作,若成功,则CSRF过程成功。其中登录B网站,行为可以是点击网站A中的链接链接。 

CSRF攻击实践 
1.若网站A通过GET方式访问银行(假设)完成转账:http://www.bank.com/transfer.php?toBankId=3206&money=1000。如果是通过GET方式访问,授权信息存储在cookie中。 
2.B页面中生成img标签,src设置为A页面中的转账链接:http://www.bank.com/transfer.php?toBankId=3206&money=1000,但toBankId改成黑客的的账号,因为登录信息在cookie中,在chrome,firefox等多页签浏览器中,同域名请求可以带上同域名的cookie内容 

预防措施 
1.随机参数 
攻击者不能获得第三方的Cookie(理论上),A页面使用加密随机参数,在同一个会话范围内使用同一个加密随机参数,如md5("defenseSCRF" + new Date().getTime() + 3600),在第个请求中加入随机参数。 

后台校验:getSession().get("stoken_name") == $pToken 
2.验证码 

 

转载一篇文章来凑够200字数~~

原文链接:http://haiyupeter.iteye.com/blog/1842780

 

最后:

很简单,看我粉丝数及这篇文章的推荐数就明白喽!

嘟嘟你不禁用首页JS就算了,总得加上token吧!

posted on 2013-05-29 10:25  3EF  阅读(522)  评论(3编辑  收藏  举报