• SEO文章推广! 合作联系qq:122325244 正式全面改版 !免费SEO地址:https://www.seozhan.cn/tool 站长QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏SEO站长博客吧

怎样利用XSS漏洞在其它网站注入链接?

脚本编程 SEO站长博客 4个月前 (08-13) 326次浏览 已收录 0个评论

前两天英国的seo老手Tom Anthony 曝出一个 Google 蜘蛛存在的漏洞,可能被黑帽 SEO 利用 XSS漏洞在别人网站注入链接,而且这些链接确定会被 Google 蜘蛛抓取。这个漏洞如果被大规模利用,显然是会影响权重流动和搜索排名的。

Tom 去年 11 月就把这个漏洞汇报给 Google 了,不过到目前为止 Google 并没有解决这个漏洞的意思,他们的说法是“Google 的现有保护机制应该能预防这种滥用,不过相关团队正在检查验证”。另外 Google 在回复 Tom 时提到了有些“内部沟通上的困难”,公司大了是不是都会有这种问题?

既然 Google 过了 5 个月都没有采取措施,Tom 决定把漏洞公布出来,站长们好检查自己网站是否有 XSS漏洞,提取采取预防措施,以防自己网站被注入链接。Google 同意 Tom 公布相关信息,看来还是挺自信的。

什么是 XSS 攻击

XSS 攻击是 Cross Site Scripting 的缩写,跨站脚本攻击的意思。按说 Cross Site Scripting 的缩写应该是 CSS,但就和页面样式表那个 CSS 重复了,所以跨站脚本攻击这个改成了 XSS。

XSS 是一种代码注入攻击。大部分网站都会有某些功能脚本是可以任意修改 URL 的,比如搜索功能,UGC 用户贡献内容网站的提交功能,用脚本实现的转向等等。比如搜索概念,URL 经常就是 domain.com/search.php?keyword,或者 domain.com/?s=keyword 之类的(SEO 每天一贴的搜索功能就是这个 URL 格式),其中的 keyword 是可以替换成任意字符的。

那么 keyword 部分被替换成脚本会发生什么?比如 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 攻击注入链接

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

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

Google 索引了被 XSS 注入的链接

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

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

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

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

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

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

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

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

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

当然,Google 很自信,他们的防御机制应该可以鉴别出这种黑帽方法,我猜想 Google 内部调查说明,这种方法到目前为止没有被利用。不过,这是 Tom 发布信息之前,现在呢?我估计有很多人已经在疯狂实验这个方法的有效性了。我这篇帖子发出来,国内肯定也会有 SEO 去尝试。那么,大规模滥用这种注入方法的情况下,Google 的预防机制还会有效吗?

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

5 月 8 号更新:Google 在 7 号的 Google I/O 开发大会上宣布,Google 蜘蛛将使用最新版的 Chrome 引擎,目前版本是 74,以后都会保持使用最新版本。看来 Google 早就做了准备,所以这么有信心。


SEO站长博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:怎样利用XSS漏洞在其它网站注入链接?
喜欢 (0)
[h4ck3st@126.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址