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