CSRF漏洞原理与防御方式

CSRF漏洞原理

CSRF被叫做跨站请求伪造,该怎么理解这句话呢,比如 用户a在浏览器登录了账号,当他发送登录请求时候,服务器验证了账号密码,会返回给一个身份信息存放在cookie里面,浏览器保存,那么以后用户访问服务器带着这个cookie就行了。那么怎么产生攻击的呢,是用户在已经登录的状态下,访问了一个恶意的网站,带浏览器保存的cookie值向服务器发送了恶意请求,服务器会以为是用户的请求,其实这是用户不知情的请求。垮了两个站,一个是用户登录实际网站,一个是攻击者恶意构造网站,所以称作跨站请求伪造。

满足条件:

1.用户的登录了受信任的A网站,生成身份验证cookie值

2.不退出A网站访问了恶意网站B网站。

可能有的人就问恶意网站如果构造呢,这也是这个漏洞实现的一个需要考虑的地方.

具体流程:

首先张三在一个银行上有一个账户,她向李四转账1000元,那么向银行网站发送请求,请求如下 http://bank.hello/draw?moeny=zhangsan&amount=1000&for=lisi,同时攻击者小明在该网站也有账号,知道转账请求如上,所以攻击者构造了一个恶意网站,在张三登录网站之后,并且没有关闭情况下,诱导受害者点击图片,或者是一个链接,该恶意网站访问会发送一个请求http://bank.hello/draw?moeny=zhangsan&amount=1000&for=xiaoming,也就是说张三向小明转账1000元,因为这时张三还登录银行网站,身份认证信息cookie没有失效,银行会认为这是张三用户发送的一个正常请求,所以会执行命令转账功能。一般完成这个攻击通常需要搭配xss漏洞,需要在登录银行网站后进行弹窗,鼠标点击链接啊等等诱导用户点击。同时你还得知道一个敏感操作的一个请求url,不然怎么构造网站呢。

漏洞防御

CSRF防御有很多方式,每种方式各有利弊,目前有

检测referer防御CSRF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值