接到客户消息说在站长工具tool.chinaz.com上用‘网站被黑检测’检测到网站异常,根据提供的线索在站长工具上进行了检测发现如下:
很明显被挂了黑链,由于从来没有做过挂黑链的活所以对挂黑链的各种技巧不是很懂,第一反应肯定是网站文件被恶意篡改,于是立即检查网站源文件,在经过了一番对比之后没有发现明显异常,但是黑链到底是从哪里来的呢?
再次查看站长工具给出的检测结果,发现下面的正常访问模拟结果的页面是正常的,而上面出现的异常结果是通过模拟搜索引擎出来的,仔细看异常结果里面,直接写明了Baiduspider,到这里大概意思就清楚了:当百度爬虫过来的时候,会给出黑链,但是不会影响正常用户的访问,以此来达到隐蔽的目的。
那我们也来模拟一下看看这个检测结果是否准确:
curl xxx.com 得到如下结果,显示正常:
那我们再来模仿一下baiduspider:
curl -A "Baiduspider" xxx.com ,这是得到如下结果:
结果证明我们的猜测是成立的,但是既然网站源代码没有被修改,到底是哪里钻出来的黑链呢?既然黑链是根据爬虫类型来的,那么
我们直接根据爬虫的关键字来查找:
grep -ri baiduspider web_root_master
这个时候终于发现问题所在了,在global.asax文件里面藏了一大段js脚本,由于客户的网站程序是.NET开发的所以之前在win环境下做的对比,开始时也发现了global.asax文件,但是win下面用文本编辑类软件打开的时候只看到一片空白,其实真正的代码部分是隐藏在几百行。
下面,正好巧妙的利用了一般人不细心以及图形界面下面打开文档先显示第一部分空白的弱点,这段代码如下:
.NET程序的运行的时候如果默认网站根目录下有global.asa或者二global.asax文件,那么会当做全局文件优先加载,而这一点估计也是广大挂马挂黑链玩家最爱使用的伎俩。这段js的作用只针对百度爬虫,难怪我用百度搜索技术文档从来就没准确过,太针对了。
同时我们也注意到挂黑链的内容来源使用了一个第三方域的html文件,这一点的聪明之处就在于挂黑链者可以根据情况来实时调整黑链内容,甚至有的专业的估计早已实现了黑链内容的动态更新。我所碰到的网站也仅仅是他们一批次动作的无数受害者之一。
我们还注意到了黑链内容的来源网站,要是精力再旺盛点的话我恨不得把他这个点给打掉,不过还好,估计anquan.org和360网站安全中心对这样的非法信息网站是有兴趣的。
文章来源:世纪东方(),转载请标明地址,谢谢。
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!