当前位置:网站首页 >  攻略

phpcms恶意代码清除修复教程

时间:2026年05月23日 22:52:34 来源:易频IT社区
上周粉丝小李给我发消息哭丧着脸,说自己搞了两年的本地装修论坛挂了。后台根本登不上,跳转到一堆乱七八糟的博彩广告页。好不容易找客服查原因,说是PHPCMS被植入了恶意代码。折腾了两天花了500块找人,才勉强把首页救回来。其实很多用PHPCMS的站长都遇到过这事,毕竟系统有点老,漏洞补得慢,小黑客随便一扫就能钻空子。今天我就把10年帮朋友清过几十次PHPCMS黑的经验全掏出来,全程不用懂代码,跟着点就行,5分钟就能初步排查,20分钟基本能修复好。 1. 先别慌!先做3件保命事 恶意代码清不干净的话,清完还会立刻再被种。所以第一步不是着急删东西,是先断黑的退路,留自己的后路。 1.1 立刻断开网站对外访问 别让更多访客跳广告页,也别让黑客继续改东西。 操作很简单,登录你的服务器后台或者虚拟主机控制面板。 虚拟主机的话,找到“网站暂停”或者“停止域名解析”按钮,直接点就行。 云服务器(比如阿里云腾讯云)的话,修改一下安全组规则,把80(HTTP)和443(HTTPS)端口暂时封了。 避坑提醒:别直接删域名解析记录,封端口恢复得更快,也不会影响邮件这些其他服务。 1.2 强制备份全站所有文件和数据库 哪怕现在网站烂得不成样,备份也是必须的。万一清错了文件,还能回滚。 文件备份:用FTP工具(比如FileZilla、FlashFXP)连服务器,把整个网站根目录(一般是wwwroot或者public_html)压缩成zip包,下载到本地电脑。 数据库备份:登录虚拟主机或者云服务器的phpMyAdmin,找到你的PHPCMS数据库,点击“导出”,选择“快速”和“SQL格式”,下载到本地。 避坑提醒:别只备份看起来正常的文件,数据库和所有文件都要存,哪怕多占点内存。 1.3 更改所有涉及的密码 黑客肯定拿到了你的账号密码,不改的话清完第二天又会被黑。 需要改的密码有3个: 第一个是服务器/虚拟主机的登录密码; 第二个是FTP的登录密码; 第三个是数据库的root密码和PHPCMS后台管理员密码。 避坑提醒:密码别用生日、手机号这些弱密码,建议用大小写字母+数字+符号的组合,比如@PHPCMS2024Clean!。 2. 手把手教你查哪里被种了黑 PHPCMS的黑一般有两种:文件黑和数据库黑。两种都要查,漏掉一种就白忙活。 2.1 用FTP工具快速查文件黑 先看最容易被种黑的几个文件夹: 第一个是根目录下的index.php、index.html这些首页入口文件; 第二个是caches文件夹,因为PHPCMS会把缓存存在这里,权限一般比较高; 第三个是uploads文件夹,这里是放图片视频的,很多上传漏洞都会在这里种黑。 查文件的方法有两个: 第一个是看文件修改时间。最近没更新过的网站,正常文件的修改时间应该是系统安装或者上次更新的时间。如果发现某个文件的修改时间是最近几小时甚至几分钟,大概率是被黑了。举个例子,小李的装修论坛,根目录下的index.html修改时间是当天凌晨3点,他说根本没碰过,打开一看全是博彩跳转代码。 第二个是看文件大小。正常的index.php一般只有几KB,如果突然变成几十KB甚至几MB,肯定被塞了恶意代码。 避坑提醒:别乱删caches文件夹里的缓存文件,先对比下备份里的文件,确定不一样再删。 2.2 用phpMyAdmin查数据库黑 数据库黑一般是把博彩广告页的链接插到网站的配置表或者内容表里。 具体步骤: 1. 登录phpMyAdmin,找到你的PHPCMS数据库; 2. 点击左上角的“搜索”按钮; 3. 在“搜索字段”里输入几个常见的黑词,比如“博彩”“娱乐城”“时时彩”“跳转”“eval”“base64_decode”; 4. 点击“执行”,如果有结果,就找到黑了。 举个例子,之前帮一个做农产品的站长查,在v9_site(网站配置表)里的site_name后面,发现了一段base64加密的代码,解密后就是博彩跳转链接。 避坑提醒:别直接在数据库里瞎改,先把找到的记录复制到记事本里,再删除或者修改。 3. 发现黑后怎么彻底清干净 查到黑的位置后,别直接删文件改内容,先对照备份来操作,确保万无一失。 3.1 清文件黑的具体操作 如果找到的被黑文件是根目录下的index.php或者其他核心文件,别直接删,因为删了网站就打不开了。 正确的做法是: 1. 打开你下载的备份压缩包,找到对应的正常文件; 2. 用记事本或者Sublime Text打开正常文件和被黑文件; 3. 对比两个文件,把被黑文件里多出来的代码删掉; 4. 保存修改后的被黑文件,用FTP工具上传到服务器,覆盖原来的。 如果被黑文件是caches或者uploads里的非核心文件,直接删掉就行。 避坑提醒:uploads文件夹里可能有被改了后缀的图片,比如把.php改成.jpg,上传的时候还是能执行。建议把uploads文件夹里所有非图片非视频的文件全部删掉。 3.2 清数据库黑的具体操作 如果找到的是配置表里的黑,直接把多出来的代码删掉,保存记录就行。 如果找到的是内容表里的黑(比如在很多文章标题后面加了博彩链接),可以用phpMyAdmin的“替换”功能批量删除。 具体步骤: 1. 点击有黑的内容表,比如v9_news_data; 2. 点击“SQL”按钮; 3. 输入SQL语句,比如:UPDATE v9_news_data SET content = REPLACE(content, '你查到的黑词/链接', ''); 4. 点击“执行”,批量替换。 避坑提醒:执行SQL语句前,一定要再确认一遍备份是否完整,万一替换错了还能回滚。 3.3 最后打个补丁堵漏洞 清完黑只是第一步,堵上漏洞才不会再被黑。 PHPCMS官方虽然更新慢,但还是放出了一些重要的漏洞补丁。 操作方法: 1. 去PHPCMS官方论坛或者GitHub上,下载你使用的PHPCMS版本对应的最新补丁; 2. 解压补丁包,按照里面的说明,把补丁文件上传到服务器,覆盖原来的; 3. 登录PHPCMS后台,更新一下缓存。 避坑提醒:如果找不到对应版本的补丁,建议把PHPCMS升级到最新的稳定版,虽然可能会有点麻烦,但安全系数高很多。 刚才讲的3步,其实不难,跟着做就行。现在赶紧行动起来,先断开访问,再备份,然后排查清除,最后打补丁。如果遇到实在搞不定的地方,也可以私信我,我有空会帮你看。记住,网站安全不是一劳永逸的,平时要定期备份,定期检查文件修改时间,别让黑客钻了空子。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图