欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

我是如何找到Donald Daters应用数据库漏洞的

来源:本站整理 作者:佚名 时间:2018-11-13 TAG: 我要投稿

星期一的晚上像往常一样我通过观看电视节目来打发时间,但并没有什么有趣的节目。于是我决定在手机上寻找乐趣,我开始漫无目的在Twitter上翻看各种推文,一条Fox News的推送内容引起了我的关注。

有人为特朗普的支持者开发了一个名为“唐纳德约会者”(Donald Daters)的软件,并配以“让美国人再次约会”的响亮口号!这顿时激起了我的斗志,我决定拿它来练练手~
初步侦察
我立马从PlayStore下载了这个应用程序,并以普通使用者的身份对它的可用功能进行了初步的了解。
这是一款约会app,通过对象匹配的方式与陌生人进行对话。
静态分析
1)首先,我将APK文件从我的手机导入到了电脑上。你可以使用这款软件来帮助你完成这个过程。
2)APK是一个ZIP文件,解压缩并提取DEX文件。
3)你可以使用jadx这款工具,从提取的DEX文件中获取反编译的源码。
4)使用apktool获取应用程序的resources文件。
一切准备就绪,现在让我们来分析这些获取的文件,通过查看AndroidManifest.xml文件,我们可以知道:
该应用当前使用的是Firebase数据库;
这是一个React Native应用程序,com/donalddaters文件夹几乎为空可以证明这一点。这种应用程序的代码位于assets/index.android.bundle文件中;
该应用会要求授权许多敏感权限。
接着,我查看了values/strings.xml文件。

可以看到ID和密钥都被硬编码在了该文件中。此外,我们还可以看到他们正在使用Firebase数据库。让我们看看他们是否正确配置了数据库。我在Chrome中粘贴访问了https://donalddaters2018.firebaseio.com/.json:

他们竟然保留了数据库的开发设置。这意味着任何人都可以访问他们的数据库……现在,我可以查看到数据库中所有用户信息(包括姓名,头像,身份,平台,通知),甚至是使用他们的token,查看所有私人消息等。
该应用仅上线了几小时,因此只有1607个注册用户和128个rooms。 有趣的是,其中最长的一个讨论(62条消息),来自于应用程序开发者之间。
如以下截图中所示,这里有一个指向数据库中用户头像的链接。

多亏了这个简单的小脚本,帮我下载了所有可用的头像,我已将部分头像发布在了Twitter上。
这是一小部分配置文件图片。https://t.co/GxIr5Mtf8d:

漏洞利用
我创建了一个新的Android应用并添加了Firebase。具体操作可以参阅本指南。
在我的项目中有一个google-services.json文件,其中存储了所有Firebase设置。为了与Donald Daters的Firebase数据库进行通信,我需要找到他们的Firebase设置(api密钥,数据库URL以及storage bucket)并将它们替换到我的google-services.json文件中。
前面我们已从values/strings.xml文件中,获取到了数据库URL和storage bucket。那么,api密钥又在哪获取呢?
在静态分析那部分我提到过,React Native应用程序的代码位于assets/index.android.bundle文件中。让我们来逆向它!
通过使用binwalk,我提取出了一堆的javascript文件。

使用grep命令,我很快就找到了api key。
现在,google-services.json文件中的所有必要设置我们都已填写完成。让我们来创建了一个用于读/写Donald Daters数据库的activity。

这段代码将会读取数据库的所有“rooms”,即“匹配”。
这里我编写了一个PoC,可用于验证Donald Daters应用程序数据库的脆弱性。有了这个POC,我可以查看所有私人消息 – 用户信息 – 或是删除:消息,用户,甚至是整个数据库中的内容。https://t.co/7doErhzYdY:

我是一个有操守的白帽子,但我可以告诉你添加这一小行“myRef.setValue(“”)”,你将会清空整个数据库。
缓解措施
发布应用时,不要使用Firebase数据库的开发设置;
聘请有能力的开发人员,这会带来很大的帮助。
时间线
1)在Twitter上发布
Hi@FoxNews和@realDonaldTrump支持者,我可以在5分钟内获取所有注册用户的:名称 – 照片 – 个人消息 – 令牌等。你们应该立即停止它的使用,并修复这个漏洞,https://t.co/72KdNJTrmk。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载