基于社交媒体的csrf蠕虫风暴探索

基于社交媒体的csrf蠕虫风暴探索

本文讨论的是外链csrf,和其可能产生的蠕虫风暴。站内XSS配合的蠕虫不讨论。

1 什么是csrf

csrf基本原理,大佬可以直接往下拉。

说到基本原理,一般都是用那张银行卡转钱的图片。这里盗余**一张图。

《基于社交媒体的csrf蠕虫风暴探索》

综合来说,受害者被来自B网站的恶意js脚本控制,对A网站发起了他所不知道的请求,A网站响应他的请求,在他的账户上产生了他所不知道的改变。

2 什么是蠕虫

这里说的蠕虫不是网络蠕虫,特指web程序的蠕虫。在web程序中的蠕虫,也是只利用web漏洞能够自动传播的漏洞,达到一传十十传百的效果。

3 什么是csrf蠕虫

CSRF蠕虫就是利用CSRF技术进行传播的Web蠕虫,还有xss蠕虫。我们这里只讨论站外csrf攻击,也就是点击一个外链中招的csrf攻击。

其实CSRF蠕虫漏洞本身还是一个CSRF漏洞,只不过基于漏洞的具体场景特殊性,一旦这个场景使得这个csrf具备了传播型,那么该漏洞就赋予了蠕虫性质。

例如:

https://www.secpulse.com/archives/46000.html

《基于社交媒体的csrf蠕虫风暴探索》

曾经的微博转发接口存在csrf,这个漏洞场景具备了传播性质,一旦受害者被csrf攻击后,自己的微博上也会转发出新的csrf链接在他的社交圈子继续传播。那么我们可以认为这个csrf漏洞是csrf-蠕虫。

再例如:各位师傅们经常调侃的csrf改变性别。这里受害者被csrf攻击后改变性别,并不能使得这个csrf漏洞做进一步传播,因此这个csrf就不具备蠕虫性质。

可以看到一般情况下,csrf漏洞产生在具有社交属性的功能点上的话,就可能具备蠕虫特性。

4 csrf蠕虫初探

献上吾发现的第一个csrf蠕虫+利用思路。

《基于社交媒体的csrf蠕虫风暴探索》

一个类似微信朋友圈的一个地方,这里抓发布的包看下。

《基于社交媒体的csrf蠕虫风暴探索》

我发现这个包中既没有token或者验证码,也没有去认证referer,基本是有csrf的。

那么我们怎么去编写csrfpoc呢?

如果你和我一样是个前端渣渣,那么burp的一键生成csrfpoc会让你舒服。

《基于社交媒体的csrf蠕虫风暴探索》

《基于社交媒体的csrf蠕虫风暴探索》

直接复制出来放到vps上,可以在底部加一个自动提交的js,不然受害者还要去点击一下按钮触发就很傻逼。

<script> document.forms[0].submit(); </script>

《基于社交媒体的csrf蠕虫风暴探索》

开两个账号模拟测试给受害者发csrf钓鱼链接,看下受害者是否回成功中招,无感发朋友圈。

《基于社交媒体的csrf蠕虫风暴探索》

《基于社交媒体的csrf蠕虫风暴探索》

查看下朋友圈效果。果然发了动态

《基于社交媒体的csrf蠕虫风暴探索》

截至目前,我们已经验证了这个csrf的存在型,那么怎么利用这里的社交性做蠕虫poc呢?其实很简单,就是把csrf请求中代表conten内容的参数改成csrf钓鱼体即可,理想情况下效果如下。

《基于社交媒体的csrf蠕虫风暴探索》

5 csrf蠕虫挖掘思路

当你遇到一个csrf,如果社交属性直接或者间接存在,那么他具备蠕虫自动传播的可能性就存在。通常csrf蠕虫的出现点有可能是:

1、朋友圈动态,包括评论转发等。

2、个人私信

3、公开帖子、视频等等发布、包括评论处。

、、、

但有些时候,特殊的功能点也能间接成为蠕虫的传播点。下面看一个场景。

一个社交媒体,允许用户可以设置私信自动回复机器人规则。

《基于社交媒体的csrf蠕虫风暴探索》

此处存在csrf漏洞,证明过程略去。点击攻击者外链url,受害者就被添加了攻击者拟定的自动回复规则集合。这里可以利用该漏洞做一个间接的csrf-蠕虫攻击,

  1. 攻击者给受害这a发送:我发现一个有趣东西,http://vps/csrfpoc.html
  2. 受害者a的回复规则集合被添加 : 统配回复->我发现一个有趣东西,http://vps/csrfpoc.html
  3. 有一天,受害者b给a发消息,并且命中规则,a自动回复b,我发现一个有趣东西,http://vps/csrfpoc.html
  4. B点击后也被添加规则集合,继续下一轮扩散,。

《基于社交媒体的csrf蠕虫风暴探索》

6 Csrf深入

Csrf的利用很多时候不是这么简单一个包直接过去就能蠕虫传播。

参考http://huaidan.org/archives/2549.html

有些csrf的利用前提必须显示获取一些用户表示id等参数,并且根据这个在csrfpoc中你要知道你现在扮演谁的角色,并且根据他的角色进行相应的操作。

《基于社交媒体的csrf蠕虫风暴探索》

这里可能还涉及数据跨域劫持问题,如某接口jsonp劫持。拿来打组合,利用劫持道的数据前端构造具体csrf参数id。

或者是服务器根据跳转rerferer上的存在的uid做判断等等。

《基于社交媒体的csrf蠕虫风暴探索》

再或者是基于flash的跨域劫持。

目前还没有遇到具体的深入利用,等过段时间有具体例子再做记录把。

 

点赞

发表评论