【黑帽SEO】利用sitemap漏洞劫持网站关键词排名

阅读  ·  发布日期 2018-10-21 07:43  ·  admin

黑帽SEO有很多种排名方式,sitemap提交漏洞的利用就是其中的一种,可以劫持其他网站的SEO关键词排名,增加自己网站排名的同时也能快速的增加网站权重,今天就要给大家讲一下黑帽SEO的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上应有的权重和排名。