CRF攻击

CRF攻击原理

用户访问恶意网站,被恶意网站利用用户信息对用户的信息进行盗取,对用户发送邮件、短信或者转账支付等恶意行为。

1、用户A在访问信任网站B,并进行登录。

2、信任网站B返回给用户A的cookie。

3、用户A在没有退出网站A的情况下,访问恶意网站C

4、恶意网站C通过用户的cookie访问信任网站A.

CRF实例

在用户登录某一银行的网站,在没有退出登录的情况下,用户点击了某一大型论坛的图片,而这张图片中隐藏着一个转账地址,这样恶意网站会通过用户在银行网站的登录信息进行转账。

CRF防御

1、将cookie设置为HttpOnly

cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击。

java代码为:

response.setHeader("Set-Cookie","cookiename=cookievalue;HttpOnly")

2、增加token

可以在客户端请求中随机加入一个token,进行服务器的验证。可以在http请求中以参数的形式加入一个随机产生的token。

3、通过Referer识别

referer中存储的是请求源地址,如果用户在登录一个银行网站为www.xxxx.com,在恶意网站进行请求时请求源网站为恶意网站地址,后台代码可以对源地址进行判断就可以防止CRF攻击。获取referer的参数为

String referer = request.getHeader("Referer")。

猜你喜欢

转载自www.cnblogs.com/youzhongmin/p/9255688.html
CRF