一、漏洞描述
PHPCMS 9.6.0版本中的libs/classes/attachment.class.php文件存在漏洞,该漏洞源于PHPCMS程序在下载远程/本地文件时没有对文件的类型做正确的校验。远程攻击者可以利用该漏洞上传并执行任意的PHP代码。
二、漏洞影响版本
PHPCMS 9.6.0
三、漏洞环境搭建
1. 官方下载phpcms v9.6.0版本,下载地址: http://download.phpcms.cn/v9/9.6/
2. 解压下载的文件,然后把文件放到phpstudy的网站根目录下,浏览器访问192.168.10.171/phpcms/install/install.php,开始安装
3. 安装完成后,登录后台,生成首页
四、漏洞复现
1.浏览器访问前台,注册一个会员
2.点击注册页面,抓包
3.在另一个系统(kali),开启web服务,然后在web根目录下创建一个txt文件,写入如下信息
4.构造POC,上传一句话木马
siteid=1&modelid=11&username=test2&password=test2123&email=test2@163.com&info[content]= &dosubmit=1&protocol=
修改数据包,添加POC,需要注意: 在repeater里测试go时每一次都要修改username,password和email字段值,保证不能重复。
5.修改抓包内容,添加POC
6.可以看到返回包的内容包含了上传文件的路径
7.蚁剑连接