官方给出这个解决方案目前有两种,一种是升级版本(百度一下就有了),另外一种是打补丁。
版主升级版本并不能解决该漏洞,所以不抱希望的试了一下打补丁。
去吃个饭,回来在阿里云管理控制台(漏洞管理)竟然没有了。
结果还真搞定了。
补丁网址:https://github.com/phpmyadmin/phpmyadmin/commit/ceeef53
. PMA\libraries\Util::backquote($cfgRelation['export_templates'])
. " WHERE `username` = "
. "'" . PMA\libraries\Util::sqlAddSlashes($GLOBALS['cfg']['Server']['user'])
. "' AND `export_type` = '" . $export_type . "'"
. "' AND `export_type` = '" . PMA\libraries\Util::sqlAddSlashes($export_type) . "'"
. " ORDER BY `template_name`;";
$result = PMA_queryAsControlUser($query);
具体就是添如下代码:
. "' AND `export_type` = '" . PMA\libraries\Util::sqlAddSlashes($export_type) . "'"
当然和版主代码不一样,版主模仿着写上去的(版主不是干php开发的)
此外版主还有一个漏洞就是:Discuz! 后台数据库备份功能命令执行漏洞
解决如下:
修改文件:/source/admincp/admincp_db.php
搜索代码:
$tablesstr .= '"'.$table.'" ';
修改成:
$tablesstr.='"'.addslashes($table).'"';
###########################################
###########################################
搜索代码:
@unlink($dumpfile);
修改成:
@unlink($dumpfile); $tablesstr=escapeshellarg($tablesstr);
复制代码