去年8月,来自印度班加罗尔的Anand Prakash率先发现了该漏洞,并将其告知Uber公司。Uber公司在获悉该情况后,立即组织安全专家在美国和印度两地对该漏洞展开测试。测试结果正如预期:利用该漏洞,Prakash成功在两地免费使用了Uber乘车服务。由于应急响应及时,Uber公司最终在发现问题的同一天成功修复了该安全漏洞。
演示视频
除了公布这一漏洞外,Prakash还发布了一个视频,演示了如何利用Uber漏洞进行免费乘车服务的过程,具体操作方式如下:
Prakash发现该问题与用户在Uber.com上建立账户选择支付方式有关。一般来说,用户需要在Uber.com上创建账户,随后进行打车服务。当乘车服务结束的时候,用户需要选择支付方式,用户既可以选择使用现金进行支付,也可以用信用卡或借记卡来付账。
但是,研究人员发现,如果用户设定一个无效的支付方式,就可以免费搭乘Uber。他解释称,该漏洞存在于发往dial.uber.com的一个POST请求上。为了利用该漏洞,用户只需要在接到“payment_method_id”请求时简单地输入一个无效的值即可,例如:
{"start_latitude":12.925151699999999,"start_longitude":77.6657536,
"product_id":"db6779d6-d8da-479f-8ac7-8068f4dade6f","payment_method_id":"xyz"}
据悉,此次Anand Prakash在发现漏洞后是通过Uber公司发布在HackerOne平台上的“漏洞赏金”项目告知对方,并因此获得5000美元奖励。
其实,HackerOne漏洞悬赏平台自成立以来,已经接受了很多企业的漏洞悬赏项目,与Uber一样,这些企业(如Twitter、Souq.com、Yahoo!以及Slack等)不惜重金设置了“漏洞赏金”项目,目的就是鼓励黑客寻找并报告自家软件上的安全漏洞,从而加强产品的安全性能。在Uber公司发布的“漏洞悬赏”项目中,根据所发现漏洞安全严重程度以及受影响用户的规模,黑客可以得到Uber公司提供的100美元—10000美元数额不等的奖励。
Uber公司一位发言人对此表示:
Uber设置的‘漏洞赏金’项目,旨在与全球安全研究人员共同修复安全漏洞,即使这些漏洞没有直接影响到我们的客户。我们特别感谢Anand Prakash此次的贡献,对他提交的漏洞报告,我们乐于对其进行奖励。
根据最新统计显示,Prakash在HackerOne“赏金猎人”排行榜中排名第29,但是在Uber的“漏洞悬赏”项目排名中位居第14位。据悉,除Uber外,Prakash还经常向Twitter、雅虎等其他公司提交漏洞报告,其中在Twitter的“漏洞悬赏”项目中排名第三。