记一次网站被批量修改jquery文件,文章被批量修改后的修复过程

2018年9月25日,我发现一个静态网站(点击访问)被劫持,起初怀疑被运营劫持,查看网站源码一点都看不出异常。

随后进行排查,发现不管是移动电信联通,均会跳转其他网站,所以判断是网站自己的问题。

多番查找,发现是网站下的一个JS被篡改造成:

而这完全是一个静态网站,被入侵的概率实在是很低,仔细排查同服务器的其他动态语言网站,发现wordpress的几个网站被修改,discuz的网站却正常。

(后话:我在网站被篡改的前一天,考虑到这是一个静态网站,几乎不会改动,所以开启了宝塔面板的防窜改功能,并且把这个网站进行了防窜改防护)

因为偷懒,并不打算马上找原因,想了个简单的法子,手动修改这些被篡改的JS文件,改成正常后用宝塔的防窜改功能锁死。

我以为事情自此结束,没想到这才是一个开始。

9月26日,有客户反馈网站打开变成违法网站,我本能的想到是因为客户网站用的是虚拟主机,解析也是CNAME,所以被地方电信运营商劫持的可能性比较大,当即也是这样回答客户的。

但客户随后测试说手机网络无论电信联通移动,均被劫持跳转,此刻,我意识到可能是网站被篡改,所以马上查看网站源代码,发现客户网站确实被篡改,标题是通过JS设置的,但实际内容已经完全改变,网站关键字也全部被改。

还是为了偷懒,我让客户暂时放弃虚拟主机,在DNS上指向我们的服务器暂时保管,本打算等客户DNS生效后我这边手动修改被篡改的问题,然后用防篡改功能锁定即可。

哪曾想,这真的是噩梦的开始!

网站进行人工修复并且做了防篡改之后,从日志中可以看出,有很多攻击尝试,其实这些都无关紧要,无非都是批量扫描的而已,并没有针对性。

客户网站标记及关键字全部被修改如上图,这些是Unicode编码,对于蜘蛛和浏览器来说就是“文字”,如下图。

找到了病症,经过治疗,看起来效果还不错,就让这个网站正常恢复上线,我真的以为事情结束了,虽然不知道原因。

但09月27日,包括客户网站在内的数十个网站被批量修改,不得不再把这个事情重视起来,经过排查,发现客户网站下有大马小马,wordpress均有一句话。

任然是手动删除这些文件,接着继续找原因。

查找到客户被上传的木马来自于以下文件,可能是和客户网站后台密码123456789弱密码有关。

这个时候,我以为事情再再次告一段落,把事情的经过分析和客户说了说,把网站用第三方“D盾”进行了查杀没有问题,告知客户回复正常了。

可没过多久,我发现事情真的不对,网站被篡改数太多了,上面这张图还是防篡改因为几十上百万“修改记录”崩溃后重装产生的,这一点也不正常,我怀疑服务器已经被黑。

果不其然,攻击者一点都没有停止攻击,随后客户discuz网站再次被严重篡改,wordpress网站所有网站均被添加JS内容,我从wordpress被添加内容这个细节怀疑,数据库可能出了问题,随后查了数据库果然被开启了远程访问,立马关掉,被篡改的文章修改的话通过数据库UPDATE即可

 

继续往下查,发现FTP配置也被修改成公共访问,关闭FTP,重装,检查配置文件,但避免再次发生问题,并没有运行FTP服务。

检查服务器登陆记录,没有异常。

我真的以为至此已经结束了,该检查的我已经检查,该修复的已经修复,该升级的我已经升级,以为日志文件和文件修改时间不匹配也放弃了继续看日志。

万万没想到,没过多一会,网站再次被篡改,宝塔防篡改记录也非常之多,当务之急立刻修复了宝塔面板和数据,重装了宝塔防篡改。

但也就是这时,事情出现了转机,出现了一个很大的变量,宝塔防篡改功能完全崩溃!

无论怎么样,怎么修复,怎么重装,都不能启动宝塔防篡改服务了,我以为这时灾难,因为我本想在彻底找到原因之前,靠宝塔的这个服务保护网站内容。

正在我绝望的时候,我想着还是把客户又被修改的内容先改回来,其他再说,令人难以置信的是,我很肯定已经被修改的问题文件,恢复了!!!

被篡改的文件恢复成正常文件了!!!此时此刻,我严重怀疑是宝塔防篡改服务的源被劫持或修改,致使不管我怎么重装都是把一个篡改服务安装上,而不是一个防篡改服务!!!

之所以到今天才发这个文章,就是我要验证这个事情,直到目前为止,之前怎么也解决不了的文件大规模篡改问题再也没有出现过,所以,宝塔!我只能怀疑你了!

至于一开始我说所的,我是在一个静态网站上开启了防篡改,事实上现在回想起来我防篡改也对其他几个网站进行了打开,所以出现很奇怪的现象,静态网站被修改,wordpress被修改,就是从那时候开始的。

至于客户网站同样被修改,但是原理却是完全不同的两码事,客户网站很明显是被入侵了,篡改后利益方是菠菜违法网站,我们的服务器被篡改,受益方是为了adsense,并没有入侵记录,利益出发点也是不同的。

究其原因,最开始的入侵原因可能是客户后台的弱密码123456789造成客户网站提权篡改,考虑到不管虚机还是服务器都是在西数购买并且都没有修改过默认密码,故而也可能是西数被拖库,并且最近西数针对这个问题处理的有点频繁,服务器默认密码被西数自动修改为强密码,也多次提醒要求修改密码。

但两个问题被我合并成一个问题之后,所有的根源,都是来自宝塔的增值服务“宝塔防篡改” ,崩溃之后一切恢复正常!

再总结一下修复过程,先是找到客户网站入侵痕迹,发现大小马,然后是手动修改被篡改的JS及PHP文件,随后发现数据库服务和FTP异常并修复,最后是永久不用宝塔防篡改服务!

本文由 蓝洛水深 作者:蓝洛水深 发表,其版权均为 蓝洛水深 所有,文章内容系作者个人观点,不代表 蓝洛水深 对观点赞同或支持。如需转载,请注明文章来源。
8
蓝洛水深

发表评论