查看原文
其他

你以为你在匿名聊天?小心被人扒了底裤!

2016-02-17 笨笨的蛋 shotgun 安在


On the internet nobody knows you're a dog.

-- Bill Gates




话说2016春节火爆朋友圈的不是春节晚会的段子,而是pyyx。pyyx是什么?请自动看你的输入法联想什么。如果说是“便宜一点”,那你可是个讲价狗,如果是“培养一下”那你可是有yp党的嫌疑。




好了,我们不调皮了,pyyx其实就是“朋友印象”,一款匿名社交APP。


看到小伙伴们玩的这么高兴,由不得小编的手也痒了起来,分别用客服和个人的微信进行了测试。




然而当我看到了亲爸给点赞我也不知道该如何说好了。




还有本人一边倒的判定为外貌协会的。



除此之外小编在网上发现了一个问题。胆小,不自信的人多会用匿名社交、聊天软件来表达爱慕之心。



此图作者说,他企图通过语言特点与经验判断匿名的人是谁。小编由此突然有了一个想法,那我们能不能找到此软件的漏洞从而得知匿名者是谁呢?


因此小编马上开始咨询了这方面Newsky的技术天才song。没想到song真的就发现了朋友印象这款APP的问题。太多的技术细节我也不便多说,简单来说就是朋友印象APP的加密在应用层上,很容易就破解抓取到明文数据。


-------此处略去几千字技术解释-------



总之一句话,还真被他做到了。我能很轻松的就得到本来匿名和我聊天的人的微信ID。


闲话不多说,马上开始测试之。


<! link to web Tools>

你就假装已经拿到了工具好了,因为伟大的黑客界人物,我们的精神导师shotgun教导我们,一定要做好白帽子,厂商还没确认就不能给工具。


Step1:打开song 开发的工具,界面是土了点,但是满满的技术范儿。




Step2:输入你的账号密码登录工具。中国区号86。


点击蓝色的按钮“登录”,再点击“点这里获取聊天记录……”下面的文本框显示出“X个匿名聊天”等字样的时候说明你登录成功。


Step3,将第一个对话框的内容全选复制黏贴到第二个对话框中。点击“处理聊天记录”。


就会得到如下效果。


每个匿名人和你聊天的最后一句话都会以文字链接的形式显示。你点击进去就可以查看这个人的微信昵称了哦。


这里面分为两种情况:


A 对方没有注册朋友印象通过链接与你进行聊天,工具抓取来的数据如框1便显示的直接是他的微信昵称。



B 对方注册了朋友印象与你聊天工具抓取来的数据如框2显示,需要仔细查找下面的字段才能得知对方的微信昵称。





想不到突然跳出来吓人还挺好玩的。


本漏洞已经提交给乌云并已报厂商确认中,细节内容不便多说,希望大家多多包涵。



匿名聊天服务的兴起,有人说是因为自卑,色情,不顾情面的冲动。然而当你开始以为可以尽情对自己邪恶的一面的放纵的时候,也触发了一部分人不可扼制的窥私欲。因此对于这种匿名社交服务提供商而言,个人信息安全的保护更为重要。希望国内的互联网公司也都能将重视安全问题摆到前台来。


为了更好地普及小白,我们特意采访了shotgun,以下为安在和shotgun的简短对话:


安在:这是一个什么样的漏洞?

shotgun:这是一个应用程序泄露用户隐私的漏洞,用户选择匿名评论,肯定是不希望被评论者得知自己的身份,然而由于存在这个漏洞,被评论者就可以获取匿名评论者的个人信息。

安在:你是怎么发现这个漏洞的?
shotgun:这个漏洞是我和西雅图的另一位同事一起发现的。我在使用这个APP的时候发现一个奇怪的现象,当我把某个实名用户拉进黑名单以后,对这个实名用户相应的匿名用户发送消息就会失败,这当然是程序员在实现拉黑逻辑的时候出现了错误,但是往深里去想的话,这就意味着服务器并没有对用户进行匿名转换,客户端层面是可以读取到用户的实名信息的,西雅图负责移动安全的同事用调试工具测试了一下,果然如此。

安在:这个漏洞严重吗?
shotgun:一般来说,泄露用户隐私的漏洞属于中等危害,并不属于最严重的那种,然而,朋友印象这类匿名社交,其主打的核心功能之一就是匿名评论和聊天,很多用户也是因为匿名才能够畅所欲言地吐槽,因此匿名可读这个问题就会严重很多,可以说是破坏了这个应用的根基。

我们已经把这个漏洞上报乌云:http://www.wooyun.org/bugs/wooyun-2016-0176194,乌云给这个漏洞的评级是:危害等级高。

同时,我们从这个漏洞的出现,也可以看到,该应用的开发团队在安全架构和设计方面存在较大的缺陷,所以一定还会存在其他类型的漏洞,我们也建议开发团队能够本着对用户负责的态度全面地检查一下。


安在:其他的应用也会有类似的漏洞吗?
shotgun:是的,某国内著名的社区应用,以及某国内著名的问答网站应用,都存在/曾经存在类似的漏洞,包括且不仅限于:匿名用户信息可读、用户间私密短信可读、强迫任意关注等。

例如,在几个月前,笔者曾经发现国内某知名问答社区存在可以读取匿名用户信息的漏洞,虽然用户从网站或者APP看不到匿名用户的信息,然而只需要稍微使用一些小技巧就可以通过系统的返回判断出匿名用户是谁,该漏洞的机理和今天这个漏洞是几乎一样的,没有在底层对匿名信息进行处理。问答社区爆出匿名泄露的漏洞对用户的影响可以说是很大的,因为用户在回答问题的时候如果选择匿名,往往是因为不想泄露个人隐私,或者担心回答会引来争吵、谩骂,而匿名泄露等于完全去掉了用户的这层保护,很可能会引发很多的矛盾和冲突。

可以说在移动互联网飞速增长的同时,移动互联网的安全却停滞不前,很多在电脑时代大家耳熟能详的信息安全老坑,在移动互联网时代还得一个一个地填平。

安在:为什么会出现类似的漏洞?
shotgun:一方面,很多移动互联网开发团队急于出活,缺乏对安全的重视,这体现在:
1、很多移动应用缺少安全的设计。由于开发工期紧,很多移动应用并没有加入安全的设计,而是先完成功能,赶紧上线,安全问题以后再说。用户认证、传输加密、防盗号、隐私保护、防跨站脚本、防数据库注入、防破解逆向等等功能都完全没有,几乎就是不设防。

2、开发过程中没有重视安全功能的实现。有些应用,虽然设计了安全功能,但是实现的时候马虎大意,使得安全功能形同虚设,很容易被绕过。

3、上线前缺少安全测试;我们知道但凡是程序就必然有BUG,安全功能也不例外,而安全功能的BUG会更加隐蔽,因为正常使用时很难暴露,发现的人往往也是奇货可居不会主动上报,这就更加需要对应用进行全面的安全测试了,例如使用http://apprisk.newskysecurity.com的扫描工具对朋友印象的APP进行扫描,发现其中有十几个安全漏洞,其中包括了客户端使用明文对用户密码进行传输(意味着你在公开的网络上登录就很可能会丢失密码)。


另一方面,很多移动互联网开发团队缺少足够的安全意识和技能,并没有把信息安全看作是架构层面的设计,而简单的当作是普通功能。


比如此次的漏洞:

1、既然是匿名,就应该在系统底层对用户进行匿名处理,转换为内部ID而不是使用微信ID来进行识别,匿名信息的屏蔽操作应该统一由一个安全模块完成,而不是各个功能模块自行完成。这是把信息安全当成基础设施的原则;

2、所有匿名到实名的转换操作应该在服务器而不是客户端完成,这是任何时候都不要信任客户端以及用户输入的原则;

3、敏感数据在网络上传播的时候应该加密;

这几个原则在PC时代已经广为开发人员熟知,然而在移动互联网开发中,能严格遵守的团队屈指可数,上文提到的 http://apprisk.newskysecurity.com团队使用他们的自动化工具扫描检查了大量的移动应用,其中60%有中等以上的安全漏洞,包括且不仅限于:各个银行、超市、航空公司、电商、社交软件的手机客户端。例如美国著名的超市Target和Costco的手机应用,都被检查出有严重的安全问题。

安在:作为普通的用户,应该注意些什么呢?

shotgun:用户应该要有安全防范意识
1、网络上没有真正的匿名,由于大数据的存在,由于安全漏洞的存在,匿名很容易被泄露,所以不要仗着匿名去做一些平时实名时不敢做的事情,这样很容易出问题;

2、移动互联网的安全问题越来越严重,使用第三方的应使用第三方的应用时要小心谨慎,特别是不要把自己的敏感信息(如实名信息或者银行信息)存在应用里;

3、经常关注信息安全公告,发生重大信息安全事件时能够及时反应,降低损失。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存