迅睿cms网站被入侵挂马篡改快照后的修复方法

最近经常有朋友反馈使用迅睿CMS制作的网站出现了在百度快照异常,使用site:自己的网址后,发现百度快照出现以下结果:

网站快照被篡改

在除网站原本的快照外,增加了很多盗版影视资源网站,这无疑给网站所有者增加了许多法律风险。今天就来说说遇到这种问题时,如何处理。

首先我们需要分析出现这个问题的原因。出现百度快照被篡改,那说明网站的程序肯定是被动了手脚的。能修改网站程序,通常说明网站文件目录的管理权限被获取,一般是被人植入了Webshell脚本,这个脚本实际运行起来有点类似FTP管理工具,可以上传、打包、修改你得网站文件管理目录下的所有文件。通常它的权限比FTP工具还大,还可以执行数据库操作等等一些更复杂的功能,从而更进一步的被入侵的网站进行修改和控制。此脚本通常被称为大马。

另外还有一种被称为小马的,也叫一句话马,代码类似与<?php @eva1(****);?>之类的。一般都是通过找到网站管理系统的漏洞,比如XSS漏洞、文件上传过滤不严谨、数据库漏洞,植入一句话小马,然后在通过一些工具软件链接再植入前面说的大马,从而获得网站文件目录管理权限,最后达到篡改网站的目的。

刚刚说过了网站程序漏洞会导致网站被入侵篡改,那还有其他问题会导致这个问题出现吗?当然还有,例如服务器系统漏洞、网站运行环境漏洞。

先说说服务器系统漏洞,如果你用的是第三方托管的虚拟主机这些,那就可以忽略这个问题了,因为这个都是主机平台去操心的事。如果你用的是阿里云、腾讯云这些云服务器,那就要注意这个问题。通常云服务器用的都是开源linux系统,时间长没有更新系统就会出现一些系统漏洞。假如你收到主机平台给你发送如下图的提醒:

云服务器漏洞提醒

那就要注意了,需要登录你的主机进行修复处理。具体修复处理这个情况不同,只能自己根据实际情况查询资料处理了。要不然服务器系统漏洞被人恶意利用后,会直接导致服务器被控制,那网站就跑不掉会被篡改了。

接着再说说网站运行环境漏洞问题,现在大家常用的网站运行环境通常为Apache/Nginx+PHP(或其他语言)+Mysql较多。那么就要注意及时把这些软件升级为最新版,要不然它们自身的一些漏洞被人恶意利用也会导致你得服务器或者网站被控制,进而被篡改内容。

好,前面说过了出现网站被入侵篡改的几种原因,接下来说说解决方法。

第一步,先备份网站根目录所有文件,备份网站数据库。养成良好的习惯,防止出现问题时可以及时恢复。

第二步,查找被篡改的文件。这里会有三种情况:

        一种暴力修改型,直接把网站的模版TDK部分给改了,这个比较好辨别,去网站模板文件中把被篡改的地方改成你正常的即可。但是如果你发现怎么都找不到搜索引擎快照中被修改的文字,那就看看模板中是否有类似:\u6d4b\u8bd5\u4e00\u4e0b这样的代码,这个是把文字进行了Unicode编码,人看不出来,但是网页可以正常解析。复制这个奇怪的代码去搜索下:Unicode转中文之类的在线工具转换下就能看到了,这是需要注意的一种情况的处理方法。

        另一种是js加载,你在模板中怎么看都正常,但是一访问就被改了。这时候就需要排查下模板中有没有加载异常的js文件,如果模板中没有就去你引入的js中查找有没有加载其他你用不到的js文件,这样一点点排查,找到后删除它即可。

        还有一种,针对搜索引擎蜘蛛的篡改。这种是现在最常见的一种篡改,说下具体症状,方便大家对号入座。通常网站功能没有任何毛病,你正常输入网址看网站也是一切正常,网站模板,js都没有被修改,但是搜索引擎快照就是显示一些乱七八糟的内容。那肯定就遇到这种类型的篡改了。它通过修改代码,让人访问时就是正常网站,但是搜索引擎蜘蛛访问就会展示被篡改的内容,所以导致搜索引擎展示的快照变了,但是你怎么看都正常。遇到这种情况就需要排查你网站系统入口文件、控制器文件、以及框架的一些加载项中是否包含此类判断代码。

这里就以迅睿CMS为例讲解,你可以根据目录\dayrui\CodeIgniter\System\Config\或\dayrui\CodeIgniter72\System\Config\下的AutoloadConfig.php文件,打开它找到第115行。这个文件如果你没有修改的话正常就115行。把后面的if (!function_exists("IsSpider") ......这个部分全部删除,这个就是判断搜索引擎蜘蛛显示不同内容的快照篡改代码。然后再访问网站看看是否正常,再访问搜索引擎快照是否还会跳转异常内容。

第三步,查找Webshell后门脚本。前面说网站被篡改,必然有网站目录的管理权限,这里我们就需要把Webshell后门脚本找到并删除,要不然你改完过几天又会被改回来。这里如果可以根据经验查找,一般会在网站根目录、uploadfile等目录中,具体找下有没有不属于系统脚本文件。可以搜索一些在线或者本地的Webshell查杀工具。也可以用迅睿CMS自身的系统加固插件进行判断,把不属于系统的异常脚本文件删除。当然如果你是其他CMS也是这个思路,查找不属于系统的脚本文件。这种脚本文件打开可能会是一对加密内容,或者你能读懂代码的话可以看到它所进行的一些操作,很好鉴别。再不济你运行下就会看到操作界面。

注:查杀Webshell时候记得把你的数据库文件也导出查一遍,里面很容易藏一句话小马。

第四步,修复漏洞。通常网站被篡改,假如你用的是开源CMS系统,它的代码是公开的,所以一有漏洞被公布就会很容易被人利用。如果你不会修复漏洞,最简单的方法就是及时升级CMS系统至最新版,这样可以帮你避免90%的篡改风险。以迅睿CMS为例,已知漏洞如下:image-20231209165401825迅睿cms已知漏洞公布

所以,完成一到三步骤后,记得升级迅睿CMS至最新的4.62版本。其他CMS也一样,及时升级到最新版。如果你使用的CMS很久没有更新了,可以去搜索引擎搜索下看看,有没有人分享此CMS的漏洞和修复方法,及时修复。

第五步,处理搜索引擎收录的异常快照。前面的步骤都完成了,虽然篡改问题解决了,但是搜索引擎还是一对异常快照咋办。可以先让那些快照返回404。你可以在网站的入口文件中加入一段判断代码,把那些包含异常后缀的访问都返回404。再以迅睿CMS为例,你可以在index.php或前面被篡改的那个AutoloadConfig.php文件中加入以下代码:

$url = $_SERVER['REQUEST_URI'];
$forbiddenStrings = ['ys=', '/ys', '/vod']; //单引号中为你网站被篡改url中出现的异常参数
foreach ($forbiddenStrings as $string) {
   if (strpos($url, $string) !== false) {
 http_response_code(400);
       exit;
   }
}

这样那些异常快照访问就会变成404了。如果你不在乎搜索引擎上的那些快照就扔那不管了,时间久了搜索引擎自然会删除它们。

但是如果你被勒令整改了,那就没办法了,只能主动删除了。具体操作步骤如下,首先你得把这些访问异常的url都整理出来放到txt文档中,一行一条准备好。数量少的话你可以去搜索请求中使用site:你得网址,然后把挨个点开复制粘贴到txt。

如果你的快照数量成千上万的话,那就麻烦了。这里提供两个思路:

  1. 去网站日志中查找,里面会有蜘蛛访问这些url的记录,然后筛选出来。

  2. 找个爬虫工具爬,这就复杂了,不过多介绍。

然后打开百度搜索资源平台,点击用户中心、站点管理;如果你没有添加过网站,可就先点击添加网站,按照步骤把你得网站绑定上去。具体可以阅读:百度站长管理平台绑定网站的方法步骤

绑定好网站后,点击进入你得网站,点击左侧死链提交,如下图:

百度站长资源平台死链提交

这样在右侧你就可以看到死链提交的功能区域了,把前面让你整理的txt文档放到网站根目录,再把你得网址/文件名.txt粘贴到那个死链文件地址的输入框中,提交即可。这样耐心等个一周一般就会删除掉了。

最后,你可以去你得主机服务商那提交个工单,把Webshell文件样本和被篡改文件中的那段代码样本传给他们,让他们加入到防火墙规则中。这样下次再有类似的应该就会被平台拦截了。

最后总结下完整步骤:

  1. 备份网站所有文件和数据库

  2. 查找和修复篡改文件

  3. 查杀Webshell

  4. 修复漏洞或升级网站CMS系统至最新版

  5. 删除异常快照

  6. 如果服务器有漏洞,修复漏洞

  7. 如果网站运行环境不是最新版,升级至最新版

今天关于网站被篡改修复的内容分享就到这里,如果你遇到了类似的问题,就按照这个思路试试看吧。

如果内容有帮助,就点个赞吧!

转载注明出处:http://www.12564.cn/show-276.html

如有疑问请联系 QQ:644233191   微信:zw1688k