你是不是用phpcms做了个站
扔那大半年没管,某天突然出问题
要么百度收录全变成博彩赌博链接
要么直接打不开,数据库被黑客清空
说白了90%的老phpcms站出这事
都是这个SQL注入漏洞搞的鬼
很多人一听漏洞就慌,觉得自己不懂技术修不了
要么花大几百找别人修,其实根本不用
这篇给你说的都是能直接落地的操作
哪怕你只会上传文件,也能5分钟搞定
看完就能解决问题,再也不担心被黑客入侵
所有低于v9.6.0版本的phpcms
基本都存在这个SQL注入漏洞
说白了官方早好几年就爆出问题了
很多人做站做完就扔那不管了
三五年不更版本,等于给黑客留后门
举个例子,之前我帮一个建材老板修站
他用的还是2015年下载的v9.5.2
早就漏了,站里挂了十好几个博彩链接
已经被百度降权,半年没新访客了
第一步,打开你网站的phpcms后台
左上角就能直接看到你的版本号
如果低于v9.6.0,基本就是有问题
也可以用这个方法直接测
在你的站地址后面拼上这段参数
``` /index.php?m=content&c=index&a=listinfo&catid=1&id[0]=1 and extractvalue(1,concat(0x5e,version(),0x5e))-- ```如果打开页面爆出了数据库版本信息
就说明你的站确实存在这个漏洞
避坑提醒:别在高峰访问时段测试
最好选深夜或者凌晨,免得把站搞崩
这个方法适合没改过核心代码的站

操作三步就能搞定,非常简单
第一步:先备份整站文件和数据库
哪怕改出问题也能原样恢复,这步绝对不能省
第二步:去phpcms官方下最新安装包
别去乱七八糟第三方站点下,很多都带木马
第三步:覆盖除配置文件外的核心文件
一定要保留`config.php`这个配置文件
把它删了或者覆盖了,你的站就上不去了
避坑提醒:如果改过默认模板,先把模板文件夹单独备份,别被覆盖没了。
很多老站改了大量核心代码,不敢升级版本
那就直接改出问题的文件,步骤也不难
首先找到这个路径的文件:
`phpcms/modules/content/content.php`
找到大概475行的原有代码:
``` $where = '`catid` = '.$catid['catid'].' AND `status` = 99'.$AND_catids; $infos = $this->db->select($where, '', $page_start, $pagesize); ```把这段替换成下面这段代码:
``` $where = '`catid` = '.$catid['catid'].' AND `status` = 99'.$AND_catids; if(isset($_GET['id'])){ $id = intval($_GET['id']); $where .= " AND `id` = $id"; } $infos = $this->db->select($where, '', $page_start, $pagesize); ```改完保存,上传覆盖原来的文件就可以
说白了就是给传入的参数加了过滤
不让黑客带恶意代码进来,堵上后门
还是用刚才给你的测试链接再测一次
如果页面不再爆出数据库信息,就是修好了
再点一遍站里的几个页面,看看能不能正常打开
别改完文件出了错,自己还不知道
其实这个漏洞修复真的没难度
不用找专业程序员花大几百修
你只要抽10分钟,跟着上面步骤走就能搞定
现在搜索引擎对挂马站打击特别严
一不小心就被K站,之前几年的优化全白费
得不偿失,真的犯不上。
你现在就可以打开站的后台
先看看你的phpcms版本号,查查有没有问题
发现漏洞今天就搞定,别拖出大问题再后悔。












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