首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过AMPScript评估访问Uber的用户数据

现代发展和基础设施管理实践快速发展并不断发展。在创新和扩展的竞争中,正在部署新资产并将其快速暴露于公共Internet中,并且现有资产也在不断发展。

与这种不断发展的攻击面保持同步非常困难,更不用说保护那些应用程序和系统了。传统的时间点和静态安全方法根本无法跟上,在这种动态环境中主动管理威胁似乎是不可能完成的任务。

解决此问题的唯一方法是将方法转向安全评估,使其连续且具有资产意识。当使用我们的Continuous Security Platform监视大型攻击面时,我们经常发现对基础结构的更改会导致新的或未发现的漏洞。

当我们正在调查我们的持续安全检测平台发现的一个晦涩的子域时,就是这种情况exacttarget-web-hook.uber.com。

在相当长的一段时间内,该子域返回了一个由Express.js Web服务器生成的普通而乏味的“找不到”错误。

但是,突然,有一个子域以一种似乎是Uber消息个性化系统的全面内部测试平台的方式做出了回应:

在https://exacttarget-web-hook.uber.com/上发现的CS表格

乍一看,该应用程序看起来像一个API控制台,用于测试包含用户个性化设置的文本消息。

我们试图将API控制台与提供的“测试联系人密钥”一起使用,但是未能使API正常工作。经过一番调查,我们确定这是因为该contactKey参数需要是经过身份验证的帐户的UUID,而不是API控制台页面上提供的参数。我们通过https://riders.uber.com/profile登录后的HTML源提取了帐户的UUID 。

将contactKey替换为我们的Uber帐户的UUID之后,我们就可以向preview端点发送API请求:

如本文章前面所示,API控制台的屏幕快照包含preview 端点的示例“消息” :

通过研究语法并从子域名建立连接exacttarget-web-hook,我们意识到上面的代码实际上是AMPScript。

Salesforce的Marketing Cloud提供AMPScript作为脚本语言,可以将其嵌入HTML电子邮件,文本电子邮件,登录页面和SMS消息中,以控制向单个消费者显示的内容。AMPScript由ExactTarget开发,然后于2013年被Salesforce收购。

使用API控制台中提供的示例AMPScript失败,因此我们开始研究是否可以真正评估AMPScript。我们很快发现HTTPGet函数将发送HTTP GET请求并返回响应内容:

运行AMPScript查询:%%=HTTPGet('https://ipinfo.io')=%%

太好了!我们可以计算任意AMPScript!然而,我们通过HTTPGet函数发送的请求并不是来自Uber拥有的服务器,而是来自AS22606 ExactTarget,Inc.,如上面的屏幕截图所示。

为了演示此错误的影响,我们从名为的数据扩展名中提取了用户数据。数据扩展是可以通过AMPScript的数据扩展功能访问的数据库表。

通过阅读有关LookupRows函数的AMPScript文档,我们能够制作出能够执行以下操作的AMPScript:

在driver_partners数据扩展名中搜索firstname等于的所有行Shubs。

将查询结果存储到数组中。

遍历数组并打印值。

最终的AMPScript:

当将此AMPScript发送到preview端点时,响应中包含UUID,加入日期,电子邮件地址和每个用户的名字为的名字Shubs。

到preview端点的HTTP请求:

响应(已混淆UUID和电子邮件):

从Uber返回的名为“ Shubs”的所有用户的数据

如上所示,Shubs返回了许多具有名字的用户的详细信息(我编辑了屏幕截图以仅显示我的测试帐户)。攻击者可能制作了AMPScript来提取大量数据,或者通过名字来搜索Uber数据中的特定人员以提取其UUID和电子邮件地址。

end

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210104A0ENQ900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券