由于CNAME条目而导致的跨站点脚本漏洞

时间:2014-05-20 18:14:37

标签: security xss cname

我管理和开发的网站的广告网络之一是请求以下内容:

  

我们一直在努力提高XXXX.com的效果,我们的团队认为,如果我们可以在该域上设置以下CNAME,则有助于提高费率:

     

srv.XXXX.com d2xf3n3fltc6dl.XXXX.net

     

您可以在域名注册商处创建此记录吗?我们需要您创建此CNAME的原因是为了保留RTB中的域透明度。我们进行此设置后,我会在您的帐户中进行一些应该会有一些很好的结果的修改。*

这会不会打开我们网站的跨站点脚本漏洞?恶意代码是否能够伪装成来自我们的网站以绕过浏览器中的同源策略保护?我问他这个问题,这是他的回答:

  

首先让我谈谈好处。我们希望您创建此CNAME的原因是为了提高RTB中的域透明度。很多时候,当广告被触发时,JS用于刮取URL并将其传递给买方。我们发现这种方法效率低下,因为有时域信息不会到达市场。这会导致展示(或点击)显示为“未分类”而不是“XXXX.com”,这导致费率降低,因为买方为未分类的广告资源支付的费用减少了80%。通过创建CNAME,我们可以确保您的域100%显示,并且我们通常会看到CPM和收入增长15-40%。   我相信你会问自己为什么其他广告网络不会这样做。原因是这不是一个非常可扩展的解决方案,因为正如您所看到的,我们必须与每个发布者合作才能进行此设置。与Adsense和Lijit等大型盒子供应商不同,OURCOMPANY专注于为少量优质发布商实现收入最大化,而不是仅仅在尽可能多的网站上实现我们的标签。我们花时间和精力提供这些解决方案,以最大限度地提高各方的收入。   就安全风险而言,它们几乎没有。您只需将XXXX.com的子域名指向我们的广告素材服务器即可。我们无法使用此功能在您的网站上运行脚本,也无法以任何方式访问您的网站。   添加CNAME完全取决于您。无论有没有,我们仍然会尽最大努力获得最优惠的价格。我们刚刚看到其他发布商获得了很好的结果,所以我想我会联系并看看它是否是您感兴趣的内容。

这整个情况给我带来了危险信号,但实际上并不是我的安全知识。有人可以提供任何见解吗?

1 个答案:

答案 0 :(得分:0)

这将允许每个站点读取设置为XXXX.com级别的cookie,但除非两个站点都选择加入,否则不会允许其他Same Origin Policy操作。两个站点都必须设置{{1在客户端脚本中允许访问这两个域。

来自MDN

  

Mozilla将从未设置过的document.domain属性从显式设置的属性区分为与文档的URL相同的域,即使属性在两种情况下都返回相同的值。如果一个文档同时将document.domain = 'XXXX.com';设置为相同的值,表示他们打算合作,或者两者都没有设置document.domain并且URL中的域是相同的(实现),则允许访问另一个文档。如果不是这个特殊政策,每个网站都会受到其子域名的XSS限制(例如,document.domain可能会被https://bugzilla.mozilla.org上的错误附件攻击。