或者

【sitemap网站地图】利用Sitemap提交漏洞劫持其它网站排名

作者:金刚狼 浏览:156 发布时间:2018-05-10
分享 评论 0


【sitemap网站地图】利用Sitemap提交漏洞劫持其它网站排名,对国内黑帽SEO应用广泛的赌博、色情等网站和排名也做过一些研究,与相关公司也有些接触,对这个行业的利润之大、团队规模之大、

  【sitemap网站地图】利用Sitemap提交漏洞劫持其它网站排名

  我个人虽然不建议做黑帽SEO,但了解一些黑帽技术是白帽SEO的必修课。SEO黑帽的常见技术和最新应用至少可以让我们:

  在不能失误的正规网站上避免黑帽的坑

  多渠道、深入理解搜索引擎的工作原理

  帮助了解搜索排名算法的极限在哪里

  从聪明的黑帽SEO技巧中发展白帽技巧

  对国内黑帽SEO应用广泛的赌博、色情等网站和排名也做过一些研究,与相关公司也有些接触,对这个行业的利润之大、团队规模之大、探索及应用之深入等是很钦佩的。不过总体上说,国内黑帽SEO的做法偏向传统,更多是对搜索算法的某些已知漏洞或参数的极端、大规模利用。国外一些黑帽对SEO的探索则更出人意料,脑洞更清奇。

  前几天看到一个可以用于黑帽SEO的例子,利用Google Search Console的XML Sitemap提交漏洞,劫持其它人网站原有排名。看完后感觉,还有这种操作?一些人真的思路非常活跃,貌似也有时间,在不停地探索着各种可能性。好在这个漏洞没有真正用于黑帽SEO,而是在Google的漏洞举报奖励计划中提交的,发现者Tom Anthony因此获得1337美元奖金。

  Tom Anthony不是一般的IT安全人员,显然是干SEO的,而且是英国著名SEO公司Distilled产品研发部门的头。Tom Anthony在他的博客帖子里详细介绍了这个漏洞的用法。

  简单说,Tom Anthony通过自己的网站,用ping的机制向Google提交XML版Sitemap(里面包含索引指令,比如这个例子中利用的hreflang标签),由于Google及其它网站的漏洞,Google误以为这个Sitemap是另一个网站的Sitemap,从而使Tom Anthony的网站快速索引,并且劫持了那个网站的排名。

  Google允许几种方式提交sitemap.xml:

  在robots.txt文件中指定sitemap.xml的位置

  在 Google Search Console后台提交

  把sitemap.xml的位置ping给Google

  第3种ping的方式就是向Google的这个URL发get请求:

  http://google.com/ping?sitemap=http://www.example.com/sitemap.xml

  其中,http://www.example.com/sitemap.xml就是要提交的sitemap.xml的文件。Tom Anthony发现,无论新旧网站,Google收到这个请求后10多秒钟就会过来抓取sitemap.xml文件。

  接下来还要利用某些网站的open redirect漏洞,也就是完全开放的可以指向其它网站的转向。一些网站可以通过URL中的参数控制转向,比如登录后用户被转向到某个指定地址:

  http://www.abc.com/login?continue=/page.html

  也就是abc这个网站用户登录后被转向到page.html页面,继续正常访问。通常,page.html这个页面应该是abc.com这个域名上的。但有些网站的程序不大安全,可以转向到其它网站,如:

  http://www.abc.com/login?continue=xyz.com/page.html

  用户登录完,被转向到另一个网站xyz.com上去了。而且也不一定需要真的登录,只要访问这个URL,可以是login?,也可以是logout?,或者其它什么script.php?,就被转向了。

  这就是开放的转向。这种开放转向还挺常见的,包括大网站。

  Tom Anthony注册了一个新域名xyz.com,然后利用这两个漏洞,通过ping向Google提交这样的sitemap.xml:

  http://google.com/ping?sitemap=http://www.abc.com/login?continue=xyz.com/sitemap.xml

  xyz.com是他自己的新注册的域名,abc.com是某支持开放转向的、有很好搜索流量的、别人的网站。显然,sitemap.xml文件是放在 xyz.com上的,但Google把这个文件当成是abc.com的sitemap文件(转向前的域名)。这样,黑帽SEO可以控制其它人的网站sitemap文件,并利用某些指令劫持权重、排名、流量。

  Tom Anthony做了很多测试,其中成功的是hreflang指令。他选了一个英国的零售商网站(作为上面例子中的abc.com域名),为了保护对方,并没有说是哪个网站,在自己的xyz.com域名上采集了对方网站,包括结构和内容,只修改了地址、货币之类的信息。然后在xyz.com域名放上sitemap.xml文件,里面列出那个英国网站的URL,但每个URL加上了多语言网站需要用的hreflang指令,通知Google,这个英国网站页面对应的美国版本在xyz.com上。最后,如前面说的,用ping的机制提交xyz.com上的sitemap.xml文件,但Google却误以为是英国网站abc.com的合法sitemap.xml文件。

  结果是,Google传递了英国网站的权重到xyz.com域名上。Tom Anthony这里说的不是很明确,但我理解,是在美国Google.com上获得了那个英国网站在Google.co.uk上应有的权重和排名。

  48小时内,新域名就开始被索引,并获得一些长尾词的排名: