一、首先我们要知道什么是XSS攻击

XSS攻击是Cross Site Scripting的缩写,跨站脚本攻击的意思。跨网站脚本的缩写应该是 css,但它是页面样式表中 css 的副本,所以跨网站脚本被 xss 取代。

Xss 是代码注入攻击。大部分网站都有一些可以随意修改网址的功能脚本,比如搜索功能、UGC用户投稿网站的提交功能、通过脚本进行转折等等。比如搜索概念,URL经常就是domain.com/search.php?keyword,或者domain/?S = keyword 等(SEO每天一贴的搜索功能就是这个URL格式) ,其中关键字可以替换为任何字符。

那么当关键字部分被脚本替换时会发生什么呢?比如domain.com/?s= script>alert(‘XSS’) /script>。存在此类漏洞的网站在向URL中注入恶意脚本时不会执行安全过滤,浏览器也不会将其区分为恶意脚本,因此会执行恶意脚本。

Xss 可用于捕获用户敏感信息、模拟用户向网站发出请求等等。你也可以执行脚本将内容插入到生成的 html 代码中,黑帽 seo 可以利用这一点将漏洞注入到链接中。

二、怎样利用XSS漏洞在别人网站注入链接

修改URL中的参数,替换为脚本,浏览器执行脚本,在HTML中插入内容,所以也可以插入链接。当然如果只是访问用户的浏览器上显示链接,搜索引擎不抓取这个URL的话,黑帽SEO也就不感兴趣了。问题就是 Google蜘蛛可以抓取被注入脚本的URL,也可以执行JS,所以也就可以看到被注入的链接。

防止XSS攻击,一是服务器端的程序要做安全过滤,最基本的是HTML转义,把<script>alert(‘XSS’)</script>当作被搜索的字符串,而不是要执行的脚本。二是浏览器端的XSS识别,现在的很多浏览器(如Chrome)看到URL中有可疑字符如script之类的,会直接拒绝打开页面。

如果Google蜘蛛和Google自己的Chrome浏览器一样能够识别XSS攻击,带有注入脚本的URL根本不抓取,就没有事情了。但根据Google官方文件说明,到目前为止,Google蜘蛛使用的是比较老的Chrome 41版本,而Chrome 41是没有XSS识别功能的。所以,有XSS程序漏洞的网站,有可能被Google蜘蛛抓取到被注入链接的URL。

Tom做了实验。某新银行(Revolut)网站有XSS漏洞(天哪,银行网站有XSS漏洞。不过现在已经补上了),Tom在Revolut域名上构造了个带有注入脚本的URL,浏览器执行后会在页面顶部放上个链接。Google蜘蛛会怎样处理这种URL呢?Tom用Google的页面移动友好性测试工具验证了一下,因为这个工具会按照 Google蜘蛛的方式渲染页面。结果是这样:

xss漏洞原理(怎样可以利用XSS漏洞在其它企业网站注入链接)(1)

显然,Google能够抓取URL,执行注入的脚本,生成的页面顶部是有那个被注入的链接的。这可是来自银行域名的一个外部链接。

为了进一步验证,Tom把实验URL提交给Google,结果说明,Google索引了这个URL,快照显示,通过JS脚本注入的链接也正常出现在页面上:

xss漏洞原理(怎样可以利用XSS漏洞在其它企业网站注入链接)(2)

Tom还发现,通过XSS注入,也可以添加、修改HTML中的标签,比如canonical标签,这个也是挺危险啊。不过这个和本帖XSS注入链接关系不大,就不细说了。

三、XSS攻击注入的链接有效果吗?

仅仅能索引不一定说明问题,如果如某些垃圾链接一样被Google忽略,没有链接的效果,那也不能利用来操控外部链接。为了验证这种URL上的链接是否有链接效果,Tom进一步做了实验。

Tom在Revolut域名的URL上注入一个链接,指向自己实验网站上以前不存在、刚刚创建的一个页面,提交Revolut的URL,没多久,Google就抓取了Tom自己实验网站上的新页面,而且索引了这个页面,出现在搜索结果中:

xss漏洞原理(怎样可以利用XSS漏洞在其它企业网站注入链接)(3)

这说明,被注入的链接,至少是能起到吸引蜘蛛抓取的作用的。对权重流动和排名有没有普通链接一样的作用呢?Tom顾虑到可能会对正常搜索结果的影响而没有进一步试验了。

这里不得不说,国外很多SEO是很有情怀的。我在想,如果是国内SEO们发现这个等级的漏洞,会报告给搜索引擎补上漏洞吗?大概会把这个漏洞为己所用,运用到死吧。

四、对搜索结果的潜在影响有多大?

如果这种方式注入的链接有正常链接的效果,对权重、排名有效,那么只要被黑帽SEO使用,对操控权重、排名显然有很大帮助,对搜索结果有多大潜在影响呢?

https://www.openbugbounty.org/ 网站上列出了12万5千多有XSS漏洞的网站,其中包括260个.gov政府网站,971个.edu域名网站,包括了前500个链接最多网站中的195个,想象一下潜在的影响会有多大。

当然,谷歌相信他们的防御机制,应该能够识别这种黑帽方法,我怀疑谷歌的内部研究表明,这种方法迄今为止还没有被利用。不过,这是 Tom发布相关信息技术之前,现在呢?我猜很多人已经在疯狂地试验这种方法的有效性了。等我的帖子出来,国内肯定会有SEO可以尝试。那么,大规模滥用这种发展注入方式方法的情况下,Google的预防工作机制还会进行有效吗?

另一重要方面,几乎我们可以进行肯定, Tom的帖子发出来,会迫使Google必须要积极发展采取相应措施,补上这个系统漏洞,不能让XSS攻击注入链接真的已经成为一个有效的SEO作弊方法。想尝试的,尽快吧,很快就会没用的。

如果还没有接触过系统SEO的朋友,可以关注我,参考我为大家准备的信息教程。也可以来专门的SEO社区一起学习交流,在我的微信官方账号“爱学SEO”里学习最新的行业信息和最新技术,希望一起成长交流。

,