帝国CMS7.5漏洞复现

漏洞描述

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

这个也是比较鸡肋,还是需要弄到管理员权限,登陆到后台。

漏洞复现

源码下载地址:http://www.phome.net/download

然后安装,安装可参考源码提供的 html 文件

在这里插入图片描述
测试执行到第三步即可

设置好各个参数后登陆后台,准备复现漏洞,按照下列顺序执行

第五步需要先开启抓包代理,使用 Burp 抓包,再点击开始备份

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
然后把 参数tablename 的值改为 phpifno()

在这里插入图片描述
点击 Forward 完成备份

在这里插入图片描述在这里插入图片描述
关闭抓包,php的版本参数直接就出来了

在这里插入图片描述
也可以执行如下操作访问

在这里插入图片描述
再将地址栏的 redame.txt 改为config.php

在这里插入图片描述
在这里插入图片描述
查看目录文件 upload\e\admin\ebak\phome.php ,备份数据库的参数

第72行,接收备份数据库传递的参数,然后传递给Ebak_DoEbak函数中。

在这里插入图片描述
然后传递到 upload\e\admin\ebak\class\functions.php 文件中的EbakDOEbak函数中。EbakDOEbak函数接受参数后,将数据库表名传递给变量$tablename。

在这里插入图片描述
继续浏览代码,可以看到,遍历表名并赋值给 b t a b l e 、 b_table、 btabled_table,使用RepPostVar函数对表名进行处理,其中 d t a b l e 拼 接 成 d_table拼接成 dtabletb数组时没有对键值名添加双引号。

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

在这里插入图片描述
参考:https://www.cnblogs.com/yuzly/p/11369770.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值