Categories


Tags


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

前两天英国的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每天一贴 Zac 昝辉


Public @ 2020-05-16 15:37:21

访问本页面,您的浏览器需要支持JavaScript,怎么回事?

百度和google里面搜索我的站点,出现:“访问本页面,您的浏览器需要支持JavaScript”。到底怎么回事?比如:这几天发现在百度和GOOGLE里搜索自己的站点时都显示:访问本页面,您的浏览器需要支持JavaScript... 前几天还是正常的,网页都是纯的HTML,根本不存在浏览器是否支持的问题,请问是什么原因造成的呢?答案:我进行了一系列的分析,发现类似你这种情况的网站还很多。通过搜索“访

Public @ 2017-06-14 16:14:01

GoDaddy域名转出攻略

目前在国内有很多家域名商,想要转移域名的时候会受到种种阻拦,要你提供各种材料,否则就不给转移。Godaddy虽然是国外的域名商,但是作为全球域名商的老大,它的域名转出还是比较容易的,下面笔者就给大家介绍一下Godaddy域名转出教程。一、域名解锁登录到GoDaddy账户,在“DOMAIN”一栏里选择自己想要转移的域名,点击后面的“Launch”。进入Domain信息后台,找到“Lock”这一行,一

Public @ 2018-12-21 16:00:24

网站漏洞的危害有哪些

网站漏洞会带来以下几种危害: 1. 数据泄露:攻击者利用漏洞,获取网站中的敏感信息,如用户账号密码、个人身份信息、支付信息等。这些信息可能被用于不法用途,如身份盗用、网络攻击、欺诈等。 2. 网站破坏与篡改:攻击者可以通过漏洞修改网站内容、删除信息、上传恶意程序等,导致网站无法正常运行或被篡改,给用户、企业带来不便与损失。 3. 服务拒绝(DoS)攻击:某些漏洞可能被攻击者利用,发送大量请求

Public @ 2023-07-21 11:00:40

网站漏洞的危害有哪些

网站漏洞的危害非常大,以下是其中的一些: 1. 数据泄露:攻击者可以通过漏洞获取网站的敏感信息,如用户个人身份信息、银行卡号、信用卡信息等。 2. 网站瘫痪:攻击者可以利用漏洞,进行拒绝服务攻击,导致网站无法正常访问。 3. 被黑客掌控:如果网站被黑客掌控,黑客可以随意修改网站内容,篡改文章,发布虚假信息,甚至利用网站攻击其他网站。 4. 资金损失:漏洞可以导致网站的财务系统遭受攻击,直接

Public @ 2023-05-26 19:50:15

更多您感兴趣的搜索

0.983355s