phpcms v9漏洞

 人参与 | 时间:2026-10-17 07:32:37

phpcms v9漏洞:一个老系统的黄昏挣扎

2019年夏天,我接到一个朋友的求助电话。他的企业站被挂上了赌博广告,整站跳转。检查日志时,我发现攻击者只用了三行代码——一个经典的phpcms v9 SQL注入漏洞,直接绕过了后台登录。那个站点用的是2013年的版本,补丁早就发布了,但没人更新。

这就是phpcms v9的现状:一个停止维护多年的老系统,依然撑着一大批中小企业的官网。它的漏洞不像新框架那样花哨,但胜在“量大管饱”——随便翻翻历史CVE,从SQL注入到文件上传,从任意文件读取到代码执行,几乎覆盖了OWASP Top 10的全部类别。

最典型的要数index.php?m=content&c=down&a=init这个路径。参数id没有过滤,直接拼进SQL查询。攻击者用union select就能拖走整个用户表。更狠的是,?m=admin&c=index&a=login的后台登录接口,验证码逻辑存在时间差,爆破时只要快速提交就能绕过。网上随便搜一下,都有现成的exp脚本。

我见过最离谱的一次渗透测试,对方网站用的还是phpcms v9的远古版本。管理员密码是admin123,后台模板里直接写着FTP的账号密码。攻击者甚至不需要利用漏洞,直接走后台的模板编辑功能,改一个模板文件就拿到webshell。整个过程不到五分钟,比打开一罐可乐还快。

为什么还有人在用?答案很现实:换系统成本太高。phpcms v9的模板标签、自定义模型、栏目结构都是定制化的。很多企业的网站运营人员只会用后台发文章,你让他们迁移到WordPress或织梦,等于要重新培训。更别说有些站还对接了老旧的CRM系统,数据接口都是phpcms特有的格式。

但风险不会因为“方便”就消失。phpcms v9的漏洞利用门槛极低,很多攻击者专门用扫描器批量扫这类站点。一旦中招,轻则被挂黑链,重则整站被删。我见过一个做外贸的客户,网站被黑后谷歌收录全是赌博关键词,SEO排名直接清零,损失几十万订单。

如果你还在维护phpcms v9,至少做三件事:第一,把caches目录的写入权限去掉,很多漏洞都靠写缓存文件提权;第二,修改后台路径,别用默认的admin.php;第三,把数据库账号换成最小权限的专用账号,别用root。这些措施不能根治,但能挡住90%的自动化攻击。

说句难听的,phpcms v9就是数字时代的“老破小”房子。住着是便宜,但水管电线都老化了,哪天漏电着火都不奇怪。有条件就搬家吧,没条件也得买几个灭火器备着。

顶: 94踩: 73