Google全球登录如何运作?

时间:2009-08-05 03:09:12

标签: login xss global

每当我登录一项Google服务时,我都会自动登录其他网域上的所有其他网站。

我想知道的是他们如何能够访问属于另一个域的不同cookie和会话。

我尝试在线搜索但我找不到任何信息。我可能会拔出萤火虫并试图找出,但我相信有人知道。

1 个答案:

答案 0 :(得分:80)

Google登录的工作方式如下:

1)您通常登录Google.com/accounts域下的登录页面。

1a)如果您不在Google.com/accounts域中,则会在您发布表单后转发给您。这可以在Blogger等网站上找到。

到达Google.com/accounts域后,他们会做两件事

2)他们设置了特定于Google.com/accounts域的Cookie,这些Cookie也只能通过安全连接发送。这是为了稍后验证您的身份。

我说多个,因为有几个cookie绑定到google.com/accounts域。我相信其中一个是确保如果不允许安全连接,所有事情都不会失败

3)他们使用.google.com作为他们的域设置了一个跨越所有域的cookie,因为这将使cookie可用于任何域。

4)他们转发你。

5)如果它是不同域上的站点,例如博客,则他们会在URL中发送授权密钥。页面看到它,修复它,并为不同的域设置cookie。可以使用Google的Oauth看到这样的技术。

这是Secure Cookie的用武之地。

如果您注意到,每当您关闭浏览器后访问某个网站时,他们会将您转到google.com/accounts路径,在此路径中,他们会根据安全连接重新验证您的身份,然后重置子域范围的Cookie。然后他们送你回去。

此外,Google Adsense等网站使用与Google.com/accounts相同的技术,在特定路径上制作安全Cookie,然后使用更多全局Cookie以允许更多访问权限。

其中一些是猜测,但考虑到非内部人士可以看到的内容,我认为这接近事实。

注意:我花了整整一个月的时间,只是浏览从谷歌网站到谷歌网站,看看他们是如何做的。通过赞同这篇文章,你正在减少我没有生命的悲伤