如今很多广告网络都存在同样的安全问题,攻击者能够通过合法站点中的广告代码发动跨站点脚本(XSS)攻击。
去年广告的名声很坏,尤其是被恶意广告攻击滥用之手。如今,这种情况似乎变得更加糟糕。
XSS有效负载通过广告代码向其它页面传播
这个问题产生的原因似乎是因为广告商喜欢收集关于用户的所有信息,包括用户正在浏览的页面。他们通过广告代码来跟踪用户之前的浏览记录。安全研究人员发现很多网络广告会记录完整的URL包括哈希等。虽然XSS有效负载从URL中删除了,但是如果它们被放在一个哈希(#)之后(如下)的话它们无法逃逸。
http://website.com/some/random/url#1'-alert(1)-'"-alert(1)-"
从理论上来讲,哈希后面的所有东西都是一些无关信息而且是浏览器用来页内导航用的。问题在于广告网络也记录了这个信息但是它们并没有遵照相同的输入清洁程序来处理哈希后面的数据,这跟对一般URL的处理方式不同。
新的攻击向量
于是一种新的攻击场景出现了,恶意攻击者能够传播指向合法真实页面的链接,但是链接后面跟着恶意XSS有效负载。当用户点击了链接并访问站点时没有问题,但是如果用户浏览其他页面时,XSS有效负载就会执行。虽然XSS有效负载在新闻站点和博客中没有什么用处,但是如果XSS有效负载是在银行门户网站或者电商站点上执行时,它们就会帮助攻击者获取很多敏感信息。
安全研究人员指出由于广告网络市场非常散,因此他无法注意到广告网络中所存在的所有问题,而且也无法对所有的广告服务进行测试。不过他指出很多高级别服务容易受攻击,而且如果其他研究人员或者广告网络允许进行进一步研究的话,他已经创建了一个Chrome扩展可以用来自动化测试这些问题。

