帝国cms7.5漏洞复现

EmpireCMS v7.5后台任意代码执行分析
目录
一.漏洞简介
二.漏洞复现
三.原理分析

一.漏洞简介
EmpireCMS 7.5版本及之前版本在后台备份数据库时,未对数据库表名做验证,通过修改数据库表名可以实现任意代码执行。
[影响版本] <=7.5
[漏洞危害] 高
[漏洞位置] /e/admin/admin/ebak/phome.php
二.漏洞复现
1 访问靶机192.168.5.165 账户密码admin
在这里插入图片描述
2依次 -> [系统]-[系统设置]-[备份与恢复数据]-[备份数据]
在这里插入图片描述

3 抓包把tablename改为phpifno()
在这里插入图片描述
4 访问备份文件目录下的config.php,将readme.txt改为config.php

在这里插入图片描述
在这里插入图片描述
三.原理分析
1)系统在e/admin/ebak/phome.php文件中接受备份数据库传递的参数。
elseif($phome==“DoEbak”)
{

Ebak_DoEbak( P O S T , _POST, POST,logininid,$loginin);

}
2)接受参数后,传递到\upload\e\admin\ebak\class\functions.php文件中的EbakDOEbak函数中。EbakDOEbak函数接受参数后,将数据库表名传递给变量$tablename。

在这里插入图片描述
3)系统对表名遍历将其赋值给 b t a b l e 和 btable和 btabledtable。在 d t a b l e 处 将 表 名 拼 接 为 字 符 串 。 对 拼 接 而 成 d_table处将表名拼接为字符串。对拼接而成 dtabletb数组未对其中的键值名添加双引号。
在这里插入图片描述
4)在生成config.php文件的过程中,对于$d_table没有进行处理,直接拼接到生成文件的字符串中,导致任意代码执行漏洞。
在这里插入图片描述
5)config.php
在这里插入图片描述# EmpireCMS v7.5后台getshell分析

目录

一.漏洞复现

二.原理分析

一.漏洞复现

1 访问靶机192.168.5.165 账户密码admin

在这里插入图片描述

2 依次进入

在这里插入图片描述

3 生成一个1.php.mod文件,内容为,记得为php代码

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

在这里插入图片描述
在这里插入图片描述

4 访问 http://192.168.5.98/e/admin/shell.php

在这里插入图片描述

二.原理分析

1)e\admin\ecmsmod.php导入模型
在这里插入图片描述

2)跟随LoadInMod函数来到\class\moddofun.php

在这里插入图片描述

3)上传之后下面用include进行包含一次,既执行一次上传php代码。php代码钟写入一个新shell。既在e/admin/目录下生成一个shell.php

在这里插入图片描述

  • 9
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值