Cookies 子域上的第三方代码

Cookies 子域上的第三方代码,cookies,xmlhttprequest,subdomain,xss,Cookies,Xmlhttprequest,Subdomain,Xss,作为域名example.com的所有者,向第三方公司提供子域名会带来哪些安全风险。我们不想共享任何内容,第三家公司将完全控制托管子域站点的应用程序和机器 我主要关心的是: 共享cookies 我们有cookies.example.com,因此在请求子域中也会发送cookies.example.com。我们是否可以将记录指向反向代理,在该代理中,我们剥离cookie并将请求发送给没有cookie的第三方提供商 从主域加载内容 是否可以将document.domain设置为example.com并对

作为域名example.com的所有者,向第三方公司提供子域名会带来哪些安全风险。我们不想共享任何内容,第三家公司将完全控制托管子域站点的应用程序和机器

我主要关心的是:

  • 共享cookies
  • 我们有cookies.example.com,因此在请求子域中也会发送cookies.example.com。我们是否可以将记录指向反向代理,在该代理中,我们剥离cookie并将请求发送给没有cookie的第三方提供商

  • 从主域加载内容
  • 是否可以将document.domain设置为example.com并对example.com执行XMLHttpRequest

  • 跨站点脚本
  • 我想这不会有问题,因为是同一原产地的政策。子域是否被视为单独的域

    还有其他安全问题吗

    我们有cookies.example.com,因此在 对子域的请求。我们有没有可能指出一个记录 反向代理,我们剥离cookies并将请求发送给第三方 没有他们的派对供应商

    好主意,您可以这样做是的,但是您还需要设置标志,否则他们将能够使用JavaScript检索它们

    是否可以将document.domain设置为example.com并执行以下操作 XMLHttpRequest到example.com

    不,Ajax的子域被视为不同的源。看

    我想这不会有问题,因为是同一原产地的政策。 子域是否被视为单独的域

    JavaScript代码可以与其他子域交互,但只有在站点的合作下才能交互。您还需要设置
    document.domain='example.com'如果不这样做,您就可以安全地抵御此威胁

    见:

    使用document.domain允许子域访问其父域时 安全地说,您需要将document.domain设置为两者中相同的值 父域和子域。这是必要的,即使这样做 简单地将父域设置回其原始值也是如此。 否则可能会导致权限错误


    还有其他安全问题吗

    你需要注意饼干中毒。如果
    evil.example.com
    .example.com
    设置了一个您的域认为自己已设置的非cookie,那么该邪恶cookie可能会用于您的站点


    例如,如果您将cookie的内容显示为HTML,那么这可能会引入。此外,如果您使用的是邪恶域,则可以设置自己的cookie值以实现CSRF。请参阅。

    是的,子域是不同的,甚至只是端口号的更改。位于
    example.com:80
    的页面无法请求
    example.com:8080