CSRF
一.什么是CSRF
1.CSRF:Cross-site request forgery 跨站请求伪造
2.CSRF可以实施的前提:
(1)CSRF利用站点对用户浏览器的信任
(2)被攻击网站依赖用户的身份认证
(3)网站信任已经验证过的用户
(4)攻击者使得用户的浏览器发送HTTP请求到目标网站
注意:攻击者利用的是浏览器会主动带上cookie这一原理,并没有从用户的磁盘下直接盗取用户的cookie。所有的动作都是浏览器主动完成的。
浏览器给哪个网站发出请求,不会在意是从哪个网站发出的,只在意发送到哪个网站
二.攻击过程
1.攻击原理:
(1).用户浏览器首先登陆了bank.com,bank.com生成了cookie并保留在用户浏览器Victim.Brower中。
(2).用户被欺骗,访问了attacker.com
(3).attacker网站中隐藏了一个表单,并用js进行自动表单请求,用户浏览器会自动执行这个操作。
攻击者伪造了本应由用户自己主动发出的行为。
(4).之后用户浏览器再访问bank.com,会自动带上cookie。
(5).之后bank.com响应这个请求,攻击完成。
2.在zoobar网站上进行攻击的实现
所谓实现CSRF攻击,就是比如用户的正常界面是A,在这个A上存在提交的表单或者需要和服务器交互的什么东东,然后攻击者仿造正常界面的表单内容设置一个攻击网站B,引诱用户点击链接B,之后B网站自动提交这个表单,因为是用户在自己主机的电脑上点击的,所以浏览器会很贴心的附加上用户的Cookie,但实际上表单的内容已经被攻击者固定,如果是转账什么的,攻击者会将转账目的地设置成自己的账户。
我们来看一遍zoobar网站上的漏洞攻击。
(1)首先查看网页源代码,发现转账页面中有一个表单,还没有写CSRF防护hhhhh(傻笑,这是基础练习网站自然不会写==)