有人说:技术分享就像找女朋友一样,不是靠追的,而要靠吸引!
那继续分享一些安全案例!
安全案列介绍
CSRF攻击案列
2019.5.10漏洞上报:用Gmail或G-Suite账户来验证新创建Facebook账户时存在的CSRF令牌验证机制漏洞,攻击者利用该漏洞,可在验证新创建Facebook账户时,以最小用户交互方式用受害者邮箱验证其注册的Facebook账户,实现间接CSRF攻击。漏洞最终获得Facebook官方$3000美金奖励。
CSRF(跨站请求伪造)介绍
Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也成为"one click"攻击。 很多人搞不清楚CSRF的概念,甚至有时候会将其和XSS混淆,更有甚者会将其和越权问题混为一谈,这都是对原理没搞清楚导致的。
CSRF攻击原理
从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤:
1. 登录受信任网站A,并在本地生成Cookie。
2. 在不登出A的情况下,访问危险网站B。
看到这里,你也许会说:“如果我不满足以上两个条件中的一个,我就不会受到CSRF的攻击”。是的,确实如此,但你不能保证以下情况不会发生:
- 你不能保证你登录了一个网站后,不再打开一个tab页面并访问另外的网站。
- 你不能保证你关闭浏览器了后,你本地的Cookie立刻过期,你上次的会话已经结束。(事实上,关闭浏览器不能结束一个会话,但大多数人都会错误的认为关闭浏览器就等于退出登录/结束会话了……)
- 上图中所谓的攻击网站attack.com,可能是一个存在其他漏洞的可信任的经常被人访问的网站。
CSRF要讲究天时、地利、人和
CSRF与XSS的区别:
XSS是利用合法用户发起请求(向网站注入js代码),而CSRF是伪造成合法用户发起请求。
CSRF入侵
提前准备
- 抓包工具,这里选取
Burp Suite
- BurpSuite的安装破解、https证书、抓包,这些内容不再赘述,可自行查找相应资料进行学习
[教程]从0开始安装BurpSuite2022最新版
渗透测试工具——burpsuite详细使用视频
- 受害者(目标网站和受害人)
pikachu漏洞平台
攻击过程
- 本地搭好 Pikachu
-
步骤图解
(1).账密登陆,csrf攻击充分条件之一,这里选取测试账密kobe/123456
账密登陆
(2).登陆后正常看到登录人信息,点击修改个人信息操作
详情和修改
(3).BurpSuite抓包开启
BS抓包
(4).修改个人信息页面点击submit按钮,Burpsuite会弹出抓取到的包
HTTP包信息
(5).Action-》Engagement tools-》Generade CSRF PoC 生成csrf攻击代码
生成CSRF页面
(6).做你想做的内容变更,比如这个性别改成boyboy,然后Regenerate-》Test in browser
生成CSRF代码
(7).Copy 弹出的链接内容到配置代理的浏览器(Pikachu所在浏览器)打开
BS页面地址
(7).这个Submit request其实就是钓鱼点击站点的例子,当然实际上,得做成迷惑性较高的样式,比如中奖、抽奖、劲爆热点事件图片、弹窗等
钓鱼页面
(8).受害者点击后在Pikachu会发现信息被篡改,表明CSRF攻击成功
成功篡改
CSRF防御
因此,网站如果要防止CSRF攻击,则需要对敏感信息的操作实施对应的安全措施,防止这些操作出现被伪造的情况,从而导致CSRF。比如:
- Referer Check(请求来源检查)
- 对敏感信息的操作增加安全的token
- 对敏感信息的操作增加安全的验证码
- 对敏感信息的操作实施安全的逻辑流程,比如修改密码时,需要先校验旧密码等。