帝国cms7.5后台数据库备份处存在任意代码执行漏洞
后台备份数据库时,未对数据库表名做验证,通过修改数据库表名可以实现任意代码执行
后台数据库备份处存在代码执行漏洞
漏洞简介:
在后台备份数据库时,未对数据库表名做验证,通过修改数据库表名可以实现任意代码执行。
漏洞影响版本:
Empire CMS <= V7.5
1、输入刚刚注册的账户密码登陆到后台界面:
2、进入到后台以后点击系统---备份数据---拉到最下面进行数据备份
3、抓取数据包,写入phpinfo()语句,结果显示正在进行备份。 4、直接回显命令执行语句 5、点击系统---管理备份目录---查看备份说明---跳转到链接:http://www.aaa.com/upload/e/admin/ebak/bdata/empirecms_20201027182301jh9T6d/readme.txt
/upload/e/admin/ebak/bdata/empirecms_20201027182301jh9T6d/readme.txt
6、将http://www.aaa.com/upload/e/admin/ebak/bdata/empirecms_20201027182301jh9T6d/readme.txt修改为http://www.aaa.com/upload/e/admin/ebak/bdata/empirecms_20201027182301jh9T6d/config.php即可实现执行语句。 7、查看config文件的内容 备注:使用phpinfo()语句即可实现语句执行,但是使用<?php @eval($_REQUEST['cmd']);?>和大马时会自动跳转到http://www.aaa.com/upload/e/admin/ebak/phome.php并且D:\phpStudy\WWW\upload\e\admin\ebak\bdata会产生对应的文件夹,但是文件夹下面不会产生config.php文件内容,以及数据库备份内容。
漏洞原理分析
1、系统在e/admin/ebak/phome.php文件中接受备份数据库传递的参数。 2、接受参数后,传递到\upload\e\admin\ebak\class\functions.php文件中的Ebak_DOEbak函数中。Ebak_DOEbak函数接受参数后,将数据库表名传递给变量$tablename。 3、系统对表名遍历将其赋值给b_table和b_table。在d_table处将表名拼接为字符串。对拼接而成tb数组未对其中的键值名添加双引号。
4、在生成config.php文件的过程中,对于$d_table没有进行处理,直接拼接到生成文件的字符串中,导致任意代码执行漏洞。
免责/版权声明:
1、所有来源标注为 ECMSPLUS /zwcms.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可,如涉及大面积转载,请来信告知,获取授权。
2、本站所提供的文章资讯、软件资源、素材源码等内容均为作者提供、网友推荐、互联网整理而来(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考,如有侵犯您的版权,请联系我们,本站将在三个工作日内改正。
3、若您的网站或机构从本站获取的一切资源进行商业使用,除来源为本站的资料需与本站协商外,其他资源请自行联系版权所有人。
4、 ECMSPLUS /zwcms.com不保证资源的准确性、安全性和完整性,请您在阅读、下载及使用过程中自行确认,本站亦不承担上述资源对您或您的网站造成的任何形式的损失或伤害
5、未经 ECMSPLUS /zwcms.com允许,不得盗链、盗用本站资源;不得复制或仿造本网站,不得在非 ECMSPLUS /zwcms.com所属的服务器上建立镜像, ECMSPLUS /zwcms.com对其自行开发的或和他人共同开发的所有内容、技术手段和服务拥有全部知识产权,任何人不得侵害或破坏,也不得擅自使用。
6、互联网的本质是自由与分享,我们真诚的希望,每一份有价值的正能量能够在互联网中自由传播,能够为每一个网站提供动力。
评论(3)
欢迎您光临1pma.cn,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!
?
?普通用户