我一直在这里阅读有关跨子域 cookie 攻击的信息。
快速概述它的工作原理(来自维基百科):
- 网站 www.example.com 将子域分发给不受信任的第三方
- 其中之一是现在控制 evil.example.com 的 Mallory,将 Alice 引诱到她的网站
- 访问 evil.example.com 会在 Alice 的浏览器上设置一个带有域 .example.com 的会话 cookie
- 当 Alice 访问 www.example.com 时,此 cookie 将与请求一起发送,正如 cookie 的规范所述,并且 Alice 将拥有由 Mallory 的 cookie 指定的会话。
- 如果 Alice 现在登录,Mallory 可以使用她的帐户。
我们正在构建一个 Web 应用程序,客户将在其中拥有自己的子域:subdomain.ourapp.com
.
每个客户都可以上传包含 javascript(用于客户端交互)的模板文件。
既然 javascript 可以用来读/写 cookie,我们如何防止上面的会话固定攻击呢?请注意,我们仅将会话 ID 存储在 cookie 中。
像 squarespace.com 这样的网站还允许用户将他们自己的 javascript 注入到他们自己子域上的页面中。由于几乎不可能尝试过滤掉在上传的模板文件中设置/读取 cookie 的 javascript 语句,我们如何减轻这种攻击向量?