CSRF漏洞
CSRF漏洞专题概述
Cross-Site Request Forgery(CSRF),中文一般译作跨站请求伪造。经常入选owasp Top10,在当前web漏洞排行中,与xss、sql注入等相比而言,CSRF相对来说受到的关注要小很多,但是危害却非常大。可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的帐号,甚至于购买商品,虚拟货币转账……造成的主要问题包括:个人隐私的泄漏以及财产安全。
CSRF攻击的常见危害
- 发送邮件
- 修改账户信息
- 资金转账
- 网站被上传网马
CSRF攻击原理
A–存在CSRF
B–攻击者
C–受害者
CSRF检测方式
手工测试
手工测试poc代码半自动测试
CSRFTester、burpsuite
CSRF利用
常见的利用:
- 修改个人信息
- 转账操作
- 后台增加管理员
- CSRF getshell/拖库
CSRF解决办法
- 可以利用http watch类监控访问网页的程序防止cookie被劫取
- 对于一个网站而言,可以禁用诸如长期授权的办法,改用瞬时授权(在每个form中提供隐藏的field)
- 利用“双提交”cookie;此方法只工作于Ajax(ASP.NET技术),如果某个授权的cookie在form post之前正被JavaScript代码读取,那么限制跨域规则将被应用。如果服务器需要在Post请求体或者URL中包含授权cookie的请求,那么这个请求必须来自于受信任的域,因为其他域是不能从信任域读取cookie的
- 使用特殊的浏览器,多窗口浏览器新窗口会带有当前会话。这就带来了安全问题。这种情况下可以使用特殊的浏览器
- 由于CSRF时效性,可以采用浏览器会话结束时清理浏览器cookie的办法
- 在non-GET请求中使用Security token(安全性令牌)
Author: 云亦然
Link: http://JaneBraun.github.io/2019/10/27/网络安全之CSRF漏洞/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.