什么是CSRF
what:
Cross-Site Request Forgery 跨站请求伪造
一个典型的CSRF攻击有着如下的流程:
- 受害者登录a.com,并保留了登录凭证(Cookie)。
- 攻击者引诱受害者访问了b.com。
- b.com 向 a.com 发送了一个请求:a.com/act=xx。浏览器会默认携带a.com的Cookie。
- a.com接收到请求后,对请求进行验证,并确认是受害者的凭证,误以为是受害者自己发送的请求。
- a.com以受害者的名义执行了act=xx。
- 攻击完成,攻击者在受害者不知情的情况下,冒充受害者,让a.com执行了自己定义的操作。
流程:
CSRF与xss区别
CSRF案例分析
典型案例:
Gmail CSRF漏洞(设置邮件转发) , Weibo CSRF漏洞(自动关注账号)
主要攻击方式:
漏洞的危害:
修改账户信息;利用管理员账号;上传木马文件 ;传播蠕虫病毒(点击、扩散、点击……); 和其他攻击手段配合,实现攻击,比如XSS、SQL注入;获取cookie,实现冒充身份的后续操作 ; 刷点击 ;弹广告 ;传播蠕虫病
CSRF挖掘
1、道:怎么确定一个接口地址有没有CSRF漏洞呢?
2、术:具体怎么操作?
3、器:有没有工具可以使用?
检测工具
Burp Suite
CSRF Tester
https://github.com/s0md3v/Bolt
各种云产品
CSRF防御
防御思路:
a、我们能不能区分一个请求是来自于自己的前端 页面,还是第三方的网站?
b、怎么让自己的前端页面和伪造的请求变得不一 样呢?
防御手段:
1.Referrer
2.Token。目的是在请求中加入一些随机字段(第三方不知道 也猜不出来),让第三方网站无法伪造请求
3.验证码,二次验证(手机号,邮箱,扫码)
4.用户个人安全意识
标签:受害者,请求,漏洞,防御,CSRF,com From: https://www.cnblogs.com/betty-123/p/17661992.html