CSRF (Cross-Site Request Forgery,跨站请求伪造)原理
![](https://img-blog.csdnimg.cn/img_convert/a7d41cb6d6eb7fe6a488ec2b966b8921.png)
跨站请求伪造的攻击流程
![](https://img-blog.csdnimg.cn/img_convert/27edb22d97bef5cee78ef138cc06143f.png)
csrf的攻击条件
1.登录信任网站A,并在浏览器中保存相应的cookie,且该cookie未失效。
2.在网站A基于的cookie没有失效的情况下,用户访问危险网站B。
如何利用
提交后用burp suite进行抓包
将报文generate CSRF PoC
![](https://img-blog.csdnimg.cn/img_convert/56c3a0bf21fb04e40ae0baccbf47ebf0.png)
就会出现一串HEML代码,复制,粘贴到一个新的html文件下
让已登录其他页面的用户主机点击我们的脚本页面,从而获取cookie,并携带cookie去访问目标页面,从而获得用户权限,进行操作
如何无需用户点击操作,即可执行
可以通过js代码.使其自动执行.不需要用户点击
![](https://img-blog.csdnimg.cn/img_convert/2d103bdace86a308c85eff0d5a7ffc70.png)
如何防御csrf
1.关键操作增加验证码(比如说支付密码)
2.使用token来避免CSRF
3.校验报文中referer和host是否一致