今天发现我的wordpress程序被挂马了,百度快照被劫持
百度搜索显示的是我的网站,但点击的时候,却跳转到别人的网站中,很多页面都是如此
也就是说我的网站关键词,都被他们劫持利用了,还导致我的博客排名下降
这马,不影响你正常的访问,只对百度蜘蛛做了判断,如果是百度蜘蛛来爬的时候,就会给蜘蛛喂他们代码中准备好的HTML代码段,如果是人为正常访问,正不影响,而且你也看不出你的网站被挂马,这是有针对百度搜索的挂马。
既然已经知道了马,那我们就用技术的方式,把他暴露出来吧,用python就能爬出被挂的内容了 :
首先,用requests模拟人为正常访问,代码如下:
#!/usr/bin/env python
#coding=utf-8
__author__ = '1号优惠 · 51福利网'
import requests
url = "https://www.51yhyh.com"
r = requests.get(url)
print r.content
看到打印出来的HTML代码,是正常的,没有异常内容
前面我说过,这马是针对百度蜘蛛的,所以要添加header信息,把user-agent改成百度蜘蛛就行了,修改后的代码如下(这百度蜘蛛的user-agnet,可以打开网站日志,搜索baidu就出来了):
#!/usr/bin/env python
#coding=utf-8
__author__ = '1号优惠 · 51福利网'
import requests
headers = {
# 模拟百度蜘蛛
"User-Agent": "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
}
url = "https://www.51yhyh.com"
r = requests.get(url,headers=headers)
print r.content
现在再看看打印出来的内容,发现代码有很多异常的内容,这内容不属于我们的,多出来的内容如下图:
看上图到的第三步的代码,就是被加密后的程序,只要把下面这段代码删除,就好了,然后再用python摸拟百度蜘蛛再爬一下网站,发现已经没有异常了
最后,我把这主题程序的php文件权限,全部改成了0444权限,即只允许读,不允许任何人写,这几天,我会继续观察是否有异常,看看百度最新的快照是否还会被劫持。