phpcms 漏洞姿势

本文详细探讨了PHPCMS的多个安全漏洞,包括V9本地文件包含漏洞、SQL备份文件名爆破、前台上传getshell、利用authkey进行注入、批量检测漏洞的方法以及后缀绕过漏洞。通过实例展示了攻击者如何利用这些漏洞,同时指出了一些防御措施的现状。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 .PHPCMS V9本地文件包含漏洞

漏洞出现在如下文件:phpcms/modules/search/index.php

代码如下:

在这里插入图片描述

本处大家会发现在使用file_get_contents函数时没有过滤get方式得到的m参数
因此可以构造payload如下

www.xxx.com/m=search&a=public_get_suggest_keyword&q=../../phpsso_server/caches/configs/database.php

如果存在漏洞即可成功读取到phpcms的数据库配置文件,如图

在这里插入图片描述

二. phpcms V9 sql备份文件名爆破

参考文章:phpcms V9 sql备份文件名爆破

payload:/api.php?op=creatimg&txt=mochazz&font=/../../../../caches/bakup/default/gv5dmx<<.sql

我们知道windows的FindFirstFile(API)有个特性就是可以把<<当成通配符来用
而PHP的opendir(win32readdir.c)就使用了该API。PHP的文件操作函数均调用了opendir,所以file_exists也有此特性。

这个漏洞和前一阵子dedecms后台爆破如出一辙,api.php文件的$op变量决定用户的操作

在这里插入图片描述

在/api/creatimg.php文件中,使用了file_exists()函数判断 f o n t f i l e 文 件 是 否 存 在 , 文 件 存 在 和 不 存 在 的 返 回 信 息 是 不 同 的 , 而 且 fontfile文件是否存在,文件存在和不存在的返回信息是不同的,而且 fontfile

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值