帝国cms7.5漏洞复现:后台任意代码执行&后台getshell

要教会 阅读:913 2025-06-24 08:55:02 评论:0

EmpireCMS v7.5后台任意代码执行分析

目录

一.漏洞简介

二.漏洞复现

三.原理分析

一.漏洞简介

EmpireCMS 7.5版本及之前版本在后台备份数据库时,未对数据库表名做验证,通过修改数据库表名可以实现任意代码执行。

[影响版本] <=7.5

[漏洞危害] 高

[漏洞位置] /e/admin/admin/ebak/phome.php

二.漏洞复现

1 访问靶机192.168.5.165 账户密码admin

帝国cms7.5漏洞复现.png

2依次 -> [系统]-[系统设置]-[备份与恢复数据]-[备份数据]

帝国cms7.5漏洞复现.png

3 抓包把tablename改为phpifno()

帝国cms7.5漏洞复现.png

4 访问备份文件目录下的config.php,将readme.txt改为config.php

帝国cms7.5漏洞复现.png

帝国cms7.5漏洞复现.png

三.原理分析

1)系统在e/admin/ebak/phome.php文件中接受备份数据库传递的参数。

elseif($phome==“DoEbak”)

{

Ebak_DoEbak(POST,logininid,$loginin);

}

2)接受参数后,传递到\upload\e\admin\ebak\class\functions.php文件中的EbakDOEbak函数中。

EbakDOEbak函数接受参数后,将数据库表名传递给变量$tablename。

帝国cms7.5漏洞复现.png

3)系统对表名遍历将其赋值给btable和dtable。

在dtable处将表名拼接为字符串 。 对拼接而成d_table处将表名拼接为字符串。

对拼接而成dtable处将表名拼接为字符串。对拼接而成tb数组未对其中的键值名添加双引号。

帝国cms7.5漏洞复现.png

4)在生成config.php文件的过程中,对于$d_table没有进行处理,直接拼接到生成文件的字符串中,导致任意代码执行漏洞。

帝国cms7.5漏洞复现.png

5)config.php

帝国cms7.5漏洞复现.png

# EmpireCMS v7.5后台getshell分析

目录

一.漏洞复现

二.原理分析

一.漏洞复现

1 访问靶机192.168.5.165 账户密码admin

帝国cms7.5漏洞复现.png

2 依次进入

帝国cms7.5漏洞复现.png

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

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

帝国cms7.5漏洞复现.png

帝国cms7.5漏洞复现.png

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

帝国cms7.5漏洞复现.png

二.原理分析

1)e\admin\ecmsmod.php导入模型

帝国cms7.5漏洞复现.png

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

帝国cms7.5漏洞复现.png

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

帝国cms7.5漏洞复现.png

本文为要教会原创,欢迎转载分享。转载时请务必在文章页面明显位置提供本文链接并注明出处。感谢您对知识的尊重和对本文的肯定!本文链接网址:https://www.yaojiaohui.net/wangluoanquan/1547.html

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容