他们将能够设置members.myapp.com 可以读取的cookie - 因此,如果他们是members.myapp.com 上的任何cookie 处理漏洞,那么他们可能会利用这些漏洞。 cookie 中毒的一个例子可能是session fixation。
除非两个域都选择加入,否则 XSS 是不可能的。即它们都必须包含以下代码。
document.domain = 'myapp.com';
除非members.myapp.com 这样做,否则Origin 不会在子域之间共享。
cookie 处理漏洞示例
如前所述,一种类型是Session Fixation。
现在,假设攻击者访问 members.myapp.com 并获得一个随机会话 cookie:set-cookie: session_id=123456。
攻击者随后向管理员发送一封电子邮件,称其域 user1.myapp.com 存在问题。
攻击者在user1.myapp.com上托管了一些JavaScript代码:
document.cookie = "session_id=123456;domain=myapp.com";
受害者(myapp.com 的管理员)进入攻击者的页面并接收 cookie。
管理员稍后会转到members.myapp.com 并登录到他们的管理员级别帐户。然而,由于攻击者在一个 cookie 中提供了攻击者的会话 ID (123456),members.myapp.com 可以读取(因为它被设置为myapp.com 级别),所以攻击者现在以管理员身份登录。即攻击者设法让管理员共享他的会话,所以当管理员登录时,共享他的会话的攻击者也登录了。
这只是 cookie 处理漏洞的一个示例。在这种情况下,系统应该在登录后发出一个新的会话cookie,以防止会话固定攻击。