共计 1936 个字符,预计需要花费 5 分钟才能阅读完成。
今天我要向大家展现的是,我如何发现了 Oracle Responsys 云效劳系统中的一个本地文件包含破绽(LFI)。由于当前很多商业销售、网络存储和社交关系公司都采用了 Oracle Responsys 的云处理计划,所以,该破绽对多个知名公司效劳形成影响,这些公司包括 Facebook、Linkedin、Dropbox 等。
Responsys:原先为一家领先的企业级 B2C 云营销软件提供商,公司主要向企业提供网络广告营销软件,帮助企业通过电子邮件、网站、移动设备、社交网络及展示广告进行营销宣传与沟通。2013 年 12 月 21 日,甲骨文宣布斥资 15 亿美元收购,之后成为 Oracle Responsys。Responsys 进一步整合延伸了 Oracle 商业云、销售云、服务云、社交云及营销云等诸多客户关系云服务。
Responsys 提供企业级别的 B2C 商业服务模式,当企业使用 Responsys 云服务方案进行了系统架设之后,Responsys 会为每一个客户企业分配与其它企业不同的“私有 IP”,以访问和使用其自身的云服务系统。
漏洞发现
这多少有点无心之举,我经常在邮箱中收到 Facebook 发给我的一些开发者邮件,这些邮件有些是发自域名为 em.facebookmail.com 的邮箱,就好比我邮箱中经常有一些来自 fbdev@em.facebookmail.com 的邮件,这引起了我的注意。漏洞挖掘思维让我觉得域名 em.facebookmail.com 可能会有点意思,于是经过一番 DIG 之后,我发现该域名与 Facebook 的”Responsys”云服务有关,而在之前其它的渗透测试场景中我曾对”Responsys”有所了解。
从上图可知,Responsys 为 Facebook 提供了基于域名 em.facebookmail.com 的邮件服务。而我在 fbdev@em.facebookmail.com 发给我的邮件中也发现了 Responsys 邮件服务的原始链接:
http://em.facebookmail.com/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlYQGkSIGbc52zaRY0i6zgzdzc6jpzcASTGzdzeRfAzbzgJyH0zfzbLVXtpKX%3DSRTRYRSY&_ei_=EolaGGF4SNMvxFF7KucKuWNhjeSKbKRsHLVV55xSq7EoplYQTaISpeSzfMJxPAX8oMMhFTpOYUvvmgn-WhyT6yBDeImov65NsCKxmYwyOL0.
参数“_ri_=”的作用是对链接生成一个有效请求。在经过一些测试后我发现,Facebook 系统在此不能正确处理二次 URL 编码,可以在”_ri_=”之前的链接中添加使用任意正确的查询参数值,比如,我可以在此加入关于密码查询的“%252fetc%252fpasswd”命令,并能成功执行:
http://em.facebookmail.com/pub/sf/%252fetc%252fpasswd?_ri_=X0Gzc2X%3DYQpglLjHJlYQGrzdLoyD13pHoGgHNjCWGRBIk4d6Uw74cgmmfaDIiK4za7bf4aUdgSVXMtX%3DYQpglLjHJlYQGnnlO8Rp71zfzabzewzgLczg7Ulwbazahw8uszbNYzeazdMjhDzcmJizdNFCXgn&_ei_=Ep0e16vSBKEscHnsTNRZT2jxEz5WyG1Wpm_OvAU-aJZRZ_wzYDw97ETX_iSmseE
通常来说,这种通过目录遍历字符的注入而获取到目标服务器相关信息的做法,都是由于对代码和系统架构的审查和过滤不当造成的。
举一反三
很快,我也意识到该漏洞应该不只对 Facebook 造成影响,可能还对那些使用 Responsys 提供私有云服务的公司形成安全威胁。谷歌 search 了一下,可以发现一大把的公司网站都存在该漏洞:
利用该漏洞,通过构造有效的_ri_请求参数,可以直接获取到目标公司企业的一些内部服务器信息,如 Linkedin:
这种本地文件包含(LFI)破绽形成的影响,小到信息泄露,大到效劳器被攻击控制,都有可能发作。而从这个 Responsys 架构的 LFI 破绽来看,相关于比拟严重,由于它将对大量运用 Responsys 效劳的公司形成数据平安隐患。
最终,我选择及时向 Oracle 公司上报了这个破绽,一周之后,该破绽就得到了 Oracle 方面有效的修复处理。
马哥学习交流群
马哥教育 -Linux 学习 - 1 群 485374463
马哥教育 -Linux 学习 - 2 群 339184057