我是如何在Periscope管理面板中绕过Google认证的

Periscope是一个属于Twitter的iOS/Android应用,主要用于现场直播。通过一个基于WEB的管理面板管理着数百万的用户,你可以通过访问admin.periscope.tv获悉。

当你浏览站点,所有的请求都讲重定向到/auth?redirect=/(这是由于我们没有一个有效的会话),进而重定向到谷歌身份验证

我是如何在Periscope管理面板中绕过Google认证的

重定向后的URL如下所示,包含各种参数。最有趣的还是.hd这是用来限制登录到特定域,在我们这个案例中为bountyapp.co

https://accounts.google.com/o/oauth2/auth?access_type=  &approval_prompt=  &client_id=57569323683-c0hvkac6m15h3u3l53u89vpquvjiu8sb.apps.googleusercontent.com&hd=bountyapp.co&redirect_uri=https%3A%2F%2Fadmin.periscope.tv%2Fauth%2Fcallback  &response_type=code  &scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.login+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile  &state=%2FStreams

我们尝试使用test@gmail.com账户进行登录操作,接着我们将重定向到用户选择页面,再次尝试操作依旧重定向到该页面。

我是如何在Periscope管理面板中绕过Google认证的

然而,我们可以简单的移除这个参数。在URL中没有签名来阻止我们进行修改,该应用的主要任务就是验证返回的token。

这提供给我们以下的URL(你可能会注意到我已经将Google+范围删除了,这是由于测试并没有进行注册的原因)

https://accounts.google.com/o/oauth2/auth?access_type=  &approval_prompt=  &client_id=57569323683-c0hvkac6m15h3u3l53u89vpquvjiu8sb.apps.googleusercontent.com  &redirect_uri=https%3A%2F%2Fadmin.periscope.tv%2Fauth%2Fcallback  &response_type=code  &scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile  &state=%2FStreams

浏览器转到这个新的页面,提示我们进行应用授权

我是如何在Periscope管理面板中绕过Google认证的

单击“Accept”按钮之后,重定向连接回到管理面板,以下信息可作为参考

我是如何在Periscope管理面板中绕过Google认证的

这里可以有应用交换访问token的代码,从白名单中验证返回的用户ID,或者至少会验证这个域为bountyapp.co

但是在本案例中,假设我们作为该公司员工使用@bountyapp.co后缀的邮箱成功登录。所请求的userinfo.profile许可不包含用户的电子邮箱地址,所以应用程序是不能对它进行验证的。

至此,我们便获得了管理后台。

我是如何在Periscope管理面板中绕过Google认证的

在这里我们便能够看到许多的东西了——用户以及各种信息流。

修复方案

Twitter对这个BUG进行了两处修改。第一个便是在请求中增加了额外的许可

https://www.googleapis.com/auth/userinfo.email

第二个就是修正用户回调的验证,现在尝试使用一个无效的用户进行身份验证只会返回一个401页面

HTTP/1.1 401 Unauthorized  Content-Type: text/html; charset=utf-8  Location: /Login  Strict-Transport-Security: max-age=31536000; preload  X-Content-Type-Options: nosniff  X-Frame-Options: DENY  X-Xss-Protection: 1; mode=block  Content-Length: 36  <href="/Login">Unauthorized</a>.

* 参考来源fin1te,译者/鸢尾 转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

发表评论