帝国cms7.5漏洞复现:后台任意代码执行&后台getshell
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(POST,logininid,$loginin);
}
2)接受参数后,传递到\upload\e\admin\ebak\class\functions.php文件中的EbakDOEbak函数中。
EbakDOEbak函数接受参数后,将数据库表名传递给变量$tablename。
3)系统对表名遍历将其赋值给btable和dtable。
在dtable处将表名拼接为字符串 。 对拼接而成d_table处将表名拼接为字符串。
对拼接而成dtable处将表名拼接为字符串。对拼接而成tb数组未对其中的键值名添加双引号。
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
本文为要教会原创,欢迎转载分享。转载时请务必在文章页面明显位置提供本文链接并注明出处。感谢您对知识的尊重和对本文的肯定!本文链接网址:https://yaojiaohui.net/wangluoanquan/1547.html
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。