01.jpeg大家好,我是Sarmad Hassan,今天我要和大家分享的是一个关于Instagram的漏洞,这个漏洞很有意思,我可以利用它来在其它Instagram用户的发贴中添加描述,最终也获得了Instagram官方$6500美金的奖励。

漏洞端倪

Instagram为Facebook旗下的图片视频分享应用,为方便用户的分享服务,Facebook中可以关联登录Instagram。8月的一天,当我看到Facebook页面中有一个可以管理 Instagram 应用的选项时(具体可查看此处说明),我就突发奇想,想尝试在Facebook网页中来绕过Instagram的双因素认证(2FA)机制。

于是,我想在Facebook网页中进行测试,我先找到了Instagram选项按钮,想用我之前老的Instagram账户进行登录,但不巧的是,我把密码给忘记了。

02.jpeg由于在此之前我曾对Instagram网页应用做过一些测试,为了方便新功能的提醒,我开启了密码登录记忆功能,所以接下平,我就直接在浏览器中输入了Instagram网站 https://www.instagram.com/ 想看看我之前的账户是否存在。很好,竟然能登录进入:

03.png这是我Instagram测试账户登入后的样子,初看可能发现不了什么异常,但仔细观察我发现了其中有一个名为IGTV的选项,这是什么呢?What is IGTV:

原来,IGTV是Instagram的一个新功能,它可以让用户观看其他人创建的一些竖屏的长格式视频(Vertical Video),具体功能说明点此查看。从 Instagram的信息中心简介中,我对这个IGTV研究了好半天,最终我决定测试测试它。

首先,我自己创建了一个IGTV视频,创建完成后,在BurpSuite的配合下,我点击视频的编辑(Edit)选项操作,想看看其中存在些什么传输参数,执行的POST请求如下:

POST /media/1887820989027383407/edit/

caption=test&publish_mode=igtv&title=test

分析以上请求,可以得到以下信息:

1、其 media id号 为 1887820989027383407,它应该是我IGTV视频的ID编号,之后,我查询发现,Instagram对所有的用户发贴(包括图片、视频和IGTV视频),都是用这个 media id的ID号来标记的,这样,也就是说,我可以在其他用户的发贴中,检查其中的源代码来提取到其发贴media id号。如下:

04.png2、另一种获取media id号的方法还有,就是访问其他用户的发贴,在BurpSuite配合下,点击“赞”(Like),以此也可抓取到media ID号(文末的PoC验证视频中就是这种方式);

3、还有另外两个参数:caption(说明) 和 title(标题);

4、当我们在Instagram网页应用中创建任意图片或视频发贴时,Instagram都会询问你是否要加上一段图片或视频说明,当然这是可选的,大多数人都不会填,直接留白。当然了,在IGTV视频中,这里的caption(说明)就代表了视频说明的意思。

好了,有了以上基本的分析之后,接下来,我们来看看如何利用!

对于大多数Bug Hunter来说,肯定要围绕这个media ID号来做点事情咯,可以把它改成其他用户发贴的media ID号来试试,看看能不能骗过Instagram后台系统,或者深入点说,能不能骗过Instagram,以其他用户身份,在其他用户的图片视频发贴中添加一段说明呢?

漏洞测试

我用我另外一个Instagram账户做Victim账户之后,经过测试,有了以下发现:

1、如果Victim账户发贴中未发说明描述文字,之后,当把我自己当前的media ID号用Victim账户发贴的media ID号替换后,我就能在caption参数中做手脚,在Victim账户发贴中添加说明描述文字;

2、这种添加说明描述文字的操作,适用于Instagram账户中的任何发贴,包括图片、视频和IGTV视频发贴;

3、当然了,这只限于针对一些有发贴查看权限的公开用户;

奇怪的是,在以上的漏洞利用操作之后,响应消息会返回一个名为“Oops an error occurred”的内部服务器错误,但是,操作最终是有效的,具体可在文末的PoC视频中查看。

漏洞危害性

很多Instagram用户,甚至是数百万的Instagram用户都是公开的;那么,找到这些公开用户之后,我们查看他们的最近一次无说明描述的发贴,就可以伪装其他用户,用该漏洞来一波添加说明描述文字的恶意操作了;如果这个漏洞被坏人利用,那么他们就会对那些Instagram中的大V人物下手,随便添加一段描述说明,可能就会造成不小的舆论影响。

当然,可以想到的是,有很多在Instagram上的名人账户也会存在该漏洞影响,很多时候这些名人也会创建一些无描述说明的发贴,那么,这个漏洞就有可利用的机会了。如下:

马克·扎克伯格 ===> 460万粉丝

赛琳娜·戈麦斯 ===>  1.4亿粉丝

爱莉安娜·格兰德 ====> 1.25亿粉丝

碧昂丝 =====> 1.17亿粉丝

金·卡戴珊 ===> 1.15亿粉丝

梅西 ====> 9700万粉丝

……

还有太多名流Instagram用户就不一一罗列了,你可以想像利用这个漏洞制造的舆论风波多么可怕,当然还可用于各大公司之间的恶意宣传诋毁。

漏洞上报进程

由于Instagram属Facebook旗下应用,之后,我迅速向Facebook安全团队报告了这个漏洞,他们仅在一天内就修复了它。基于漏洞严重的危害性,Facebook向我奖励$6500美元的奖金。

05.png2018.8.6    漏洞初报

2018.8.14   漏洞分类

2018.8.15   漏洞修复

2018.8.15   修复确认

2018.10.10  $6500发放

PoC视频

*参考来源:medium,clouds编译,转自FreeBuf