我有一个纪录片网站,几年来一直不温不火,网站ip大概在2000左右,已经是好多年了。大概2015年开始,到现在已经2019年了。网站的wordpress版本一直没有更新,还是4.4.2
这几年一直没有上心过。因为有其他项目。前段时间才把这个站的版本升级到4.9.10(为什么要用这个版本,因为这是最后一个没有更改编辑器的版本),然后将一个免费的主题git也同时更新到了最新版本。
但是发现一个问题。这个网站手机端访问会卡顿,表现就是点击链接不能第一时间打开页面。要重复点好几次,有时会弹出调用uc浏览器、打开淘宝之类的应用。直觉告诉我不对劲,可能是挂马了。
昨天晚上,我直接把数据打包下来。只保留了uploads文件夹目录,然后主题更换成我本地修改好的一个版本。wordpress版本升级到最新的5.22,
上传之后以为万事大吉了,没想到还是我太单纯。网页效果还是一样的。要重复点几次才能打开链接。
我开始查看源码。发现了一些奇怪的域名。
这个分明是网站不该出现的东西。我打开这个js看了一下,一堆代码,加密了。完全看不懂是什么意思:https://m.ggesire.com:8135/list/fyx/bo.js
而且查看网站资源。这个域名下东西还不少啊。
但是,这段js在web端是不会显示的。我包括使用了浏览器f12变换成安卓系统,同样不会显示。我还在安卓模拟器里面用浏览器打开,也没有。只是手机端确实会显示,我试了两个手机和一个平板,都有。
这就有点迷。我都搞不清楚是不是挂马了。
但我用同一主题创建的一个新站,链接秒打开,没有问题,而且查看源码,也没有上述奇怪的东西。
我把此站的主题换成系统默认的。然后查看源码,发现没有了那个可疑的域名。
我猜想,还是主题有问题。但这个主题是我本地修改好的啊。难道我本地的网站环境也被污染了。
那么,只有一招了,把这个没有问题的新站的主题放上去,将原先的主题删掉。
这番操作之后,查看源码。问题更多了。更多莫名其妙的js和iframe出现了。
我慌得一批。难道新站的主题也被污染了。这下全完了!这还要给我活路吗?
没想到的是,大概过了一分钟不到,我再刷新了一下网页。
再查看源码,你猜怎么着。恶意代码居然干净了!查看网站资源,也完全没了那么莫名其妙的域名。
问题难道解决好了?我也得出了结论:就是主题被感染了,而且极有可能是我本地网站环境有挂马的东西,全被感染了。
然而事情并没有这么简单:
下午的时候。上述方法操作之后,还是无效。我又在手机端发现了奇怪的域名。
我开始怀疑是宽带运营商在搞劫持了。而且我手机从wifi切换成数据流量,显示的乱七八糟的域名不一样。
m.ggesire.com
变成了
47.101.33.38
我在雷电模拟器里安装x浏览器,同样会显示m.ggesire.com这个域名了。
只不过电脑网页上查看源码还是没有任何问题。
我偶然看到一个帖子,分析说移动出问题,是一个dz程序,结果挂马在cnzz代码后面。
巧了,我网站上也有cnzz代码,其实还有一个51la和百度统计。那么,我只保留一个51la吧。cnzz之前也有人反馈过出现广告,参考这篇文章:https://www.v2ex.com/t/319430
我去掉的两个统计代码如下:
cnzz:
<script type="text/javascript">var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1255583205'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s4.cnzz.com/stat.php%3Fid%3D1255583205' type='text/javascript'%3E%3C/script%3E"));</script><span id="cnzz_stat_icon_1255583205"></span><script src=" http://s4.cnzz.com/stat.php?id=1255583205" type="text/javascript"></script>
百度统计:
<script type="text/javascript"> var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Fc04656dc300e989f9eedf26e092d78b4' type='text/javascript'%3E%3C/script%3E")); </script><script src=" http://hm.baidu.com/h.js?c04656dc300e989f9eedf26e092d78b4" type="text/javascript"></script>
去掉之后,发现没有m.ggesire.com这个奇怪的域名了。而且这之后一直都正常了。挂马在这里彻底清除了。
但是,在写这篇文章时,我去cnzz重新后台重新复制了一下代码,和上面这段完全一致,没发现有篡改的地方啊!百度统计的代码有些变化,但核心的都一样。不知道问题出在哪里。
另外我还调整了一个东西:git主题后台头像,选用了第一个,会调用一个国外的cdn:https://cdn.jsdelivr.net/。有人发帖反馈说它节点有毒:https://www.v2ex.com/t/403110。我把这个选项也一同修改了。可能也是这个cdn的原因。
目前原因未找到,但问题解决了。还是值得庆幸的一件事。