CRSF攻击原理解析

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

[size=large][b]CRSF原理[/b][/size]

[img]http://dl.iteye.com/upload/attachment/0083/2540/56522834-5e30-3599-8911-4be4a7564ece.jpg[/img]


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

[size=large][b]CRSF攻击实践[/b][/size]
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内容

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

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

参考:http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值