在测试结果准确之前,我已经在3个不同的移动终端上测试了这两个漏洞。这些漏洞的主要原因是网络视图组件在与脸书的安全团队反复讨论后,他们承认了这两个漏洞的有效性,并及时修复了它们。我最终赢得了官方的8500美元的脸书奖励
早期检测漏洞的早期检测在早期检测中非常关键,它有助于您了解目标的基本情况并帮助您关注关键点。在我开始使用脸书的安卓应用程序时,我把注意力集中在一件事上:应用程序中的深度链接,也可以称为移动深度链接或应用程序跳转。
deeplink可以被视为另一种类型的超链接,它可以将您与APP中的特定操作行为相关联。例如,点击安卓应用程序中的这个链接,就会启动脸书的应用程序,并跳转到你的个人资料页面。
因此,我决定先看看APK文件中的一些可见的纯文本文件,所以我用WinRAR打开了脸书的安卓应用程序的最新版本,然后在其中寻找字符串“fb://”。过了一会儿,它返回了一个结果文件“资产/捆绑包-FB4.js.hbc”,可以在检查后找到它。此文件中有许多深度链接,包括
FB://market _ product _ details _ from _ for _ sale _ item _ id
FB://adsmanager
。然而,经过分析,最终没有什么用处。
然而,在fb://ama/,的深度链接线索下,我找到了一个文件——“反应_原生_路线”。由WinRAR打开的APK文件中的“JSON”,可以被视为一个“金矿”,包含许多由脸谱应用程序操作处理的深层链接。
从上面的文件图,我们可以分析和构建一个有效的脸谱深层链接:fb://ama/?entryPoint = { STRING } & ampfb _ hidesTabBar = { STRING } & amppresentation METHoD = { STRING } & amp;目标URI = {字符串}
'反应_原生_路由。“JSON”有超过12,000行代码,所以我需要一些编程技巧来提取其中有效的深度链接。之后,我开发了两个简单的应用程序,一个用于将JSON格式转换成数据库结构,另一个用于从数据库创建链接。为了将来处理数据,我尽量用数据库的思想来实现它。下面是将JSON格式转换为数据库结构的程序代码:
#将JSON移动到数据库结构导入系统。数据导入系统。IOImports Newtonsoft。LinqModule子主(参数为字符串)进程文件(“反应_本机_路由. Json”)结束子公共子进程文件(输入文件为字符串)Dim JSONText =文件。读取全部文本(输入文件)如果是文本。从第一次打开重定向漏洞开始现在,我们已经预先建立了一个364条命令行的列表,让我们开始看看我们可以从这些命令行得到什么响应。在整个过程中,有几个深度链接很有趣,但最后我把重点放在了以下三个方面:
ADB shell am start-a " Android . intent . action . view "-d " FB://payments _ add _ paypal/?URL = { STRING } "
ADB shell am start-a " Android . intent . action . VIEW "-d " FB://ig _ lwicrate _ insta gram _ account _ full _ screen _ ad _ preview/?adpreviewURl = { STRING } "
ADB shell am start-a " Android . intent . action . VIEW "-d " FB://ads _ payments _预付款_webview/?帐户= { STRING } \ & ampcontextID = { STRING } \ & amppaymentID = { STRING } \ & ampurl = { STRING } \ & amporigin root tab = { integer } "
都有一个共同点,那就是url参数,比如url={STRING}既然你需要一个网址,我给你一个。试试https://google.com。有效负载的结构如下:
ADB将启动-a "安卓.意图.动作.视图"-d " FB://ig _ lwi create _ insta gram _ account _ full _ screen _ ad _ preview/?adpreviewurl = https://google.com“
哇,成功了!这是一个开放重定向漏洞!你知道,脸书一直非常重视诸如SSRF和开放重定向等漏洞。在我最终报告后,我赢得了不少于500美元的脸书奖励第二用户终端本地文件读取漏洞在为第一个漏洞打下基础之后,我深入思考并计划发挥该漏洞的更大影响我能和URI一起试试吗?另外,你能找到阅读本地文件的方法吗?因此,我构建了以下两个有效负载:
adbshell amstart-a "安卓.意图.动作.视图"-d " FB://ig _ lwicrate _ insta gram _ account _全屏_ ad _ preview/?adPreviewUrl=javascript:确认(' https://facebook.com/Ashley.
年亚洲开发银行壳牌公司开始-a "安卓.意向.行动.视图"-d " FB://ig _ lwicrate _ insta gram _ account _ full _ screen _ ad _ preview/?adpreviewurl = file:///sd卡/cdainfo.txt "
意外,两个有效负载都可以成功执行!一个链接到我自己的脸书主页和一个本地文件,可以从客户端手机上读取!
-事实上,在那之后,我还想综合利用这些漏洞,并试图找到更深的漏洞,但最终我什么也没找到。没有源代码,我的黑盒测试方法只能到此为止。然后把这个漏洞报告给脸谱网,最后我又因为这个漏洞从脸谱网赢得了8000美元的奖励。来自脸书安全团队的回应我们正在处理您的升级漏洞。您的升级漏洞是可以从任何网页调用这些服务器,但它们的影响是有限的。最严重的影响是用户界面中的本地文件读取漏洞。然而,在获得读取的数据信息之前,还需要访问用户终端设备。
但是,我们在WebView的代码审查中发现了一些与您报告的漏洞相关的问题。这些问题是在WebView的实际配置和操作中发现的。攻击者可以综合利用这些bug问题来调用一些脸谱应用的内部服务器,获取一些敏感的HTML5 API接口信息。
,因为根据您报告的漏洞,我们在内部调查中还发现了几个更深层次的问题错误。因此,根据我们的奖励政策,我们将根据最高的潜在安全风险确定您的漏洞奖励,并奖励您的发现。
漏洞报告流程2018.3.30向脸谱网报告漏洞
1992018 . 4 . 4脸谱网有效响应2018.4.13脸谱网修复漏洞
2018.5.16脸谱网发布奖励
*参考来源:ashking,clouds Compiled,rebound请从FreeBuf注明。COM