最新DEDECMS存SQL注入0day漏洞-又来了,该如何处理
程序员文章站
2022-05-22 14:13:21
...
最新DEDECMS存SQL注入0day漏洞-又来了
4月29日消息:国内安全研究团队“知道创宇”称截获到最新DEDECMS SQL注入0day,DEDECMS官网目前提供下载的最新版5.7也受影响,截止本告警发出时官方尚未给出补丁或解决方案,此漏洞利用简单且dedecms安装之后默认即开启漏洞模块。
知道创宇给出三种临时解决方案:
方案一、临时补丁,需要四步
1. 确保您的magic_quotes_gpc = On
详细开启方式:打开php安装目录中的php.ini(若您使用的是appserv等集成环境,php.ini可能在系统盘符:\windows\php.ini),搜索magic_quotes_gpc,将其设置为On。
2.
/plus/carbuyaction.php 22行附近即
if($cfg_mb_open == 'N') { ShowMsg("系统关闭了会员功能,因此你无法访问此页面!","javascript:;"); exit(); }
下面添加一行代码
$rs =array();
3.
在 member/ajax_membergroup.php 33行附近即
if(empty($membergroup)){ echo "您还没有设置分组!"; exit; }
下面加入如下代码:
if(strpos($membergroup,"'")){ echo "SQL注入防护临时补丁,知道创宇安全团队提醒您关注官方补丁!"; exit; }
4.
原member/ajax_membergroup.php 36 行附近的
$row = $dsql->GetOne("SELECT groupname FROM #@__member_group WHERE mid = {$cfg_ml->M_ID} AND id={$membergroup}");
修改为
$row = $dsql->GetOne("SELECT groupname FROM #@__member_group WHERE mid = {$cfg_ml->M_ID} AND id='{$membergroup}'");
方案二、以网站管理员身份后台禁用会员功能
系统 -> 系统基本参数 -> 会员设置 -> 是否开启会员功能 改为(否)
方案三、若贵站不需要会员功能,可考虑直接重命名或删除存在漏洞的文件 /member/ajax_membergroup.php,最暴力却最有效的方式。
注明:本文给出的临时补丁仅供临时防御,对系统造成轻微影响尚未进行系统测试,具体补丁等需等待官方补丁。
------解决方案--------------------
phpnewnew 一直在贡献 。辛苦了。替大伙感谢你了,DEDECMS 用户有福了。
------解决方案--------------------
我经常用DEDE 有时也被黑
------解决方案--------------------
------解决方案--------------------
不认为
$row = $dsql->GetOne("SELECT groupname FROM #@__member_group WHERE mid = {$cfg_ml->M_ID} AND id={$membergroup}");
这个可能产生威胁
有点杞人忧天了吧?
------解决方案--------------------
------解决方案--------------------
设 $membergroup 为未经处理的直接 url 变量
那么
$row = $dsql->GetOne("SELECT groupname FROM #@__member_group WHERE mid = {$cfg_ml->M_ID} AND id=0 or 1=1"
只是取到表中数据的第一条数据
这个第一条数据通常就是分类的根,这就是不能构成威胁的原因
------解决方案--------------------
这样不是{$membergroup}如果是用户可操作的数据那不是可以整形注入了吗
------解决方案--------------------
不是可以union其它表嘛,如果是root权限的话结合mysql的函数就可以爆出文件代码,再爆root密码登录insert php代码输出form上传小马。。。。。。
以上纯设想,
------解决方案--------------------
4月29日消息:国内安全研究团队“知道创宇”称截获到最新DEDECMS SQL注入0day,DEDECMS官网目前提供下载的最新版5.7也受影响,截止本告警发出时官方尚未给出补丁或解决方案,此漏洞利用简单且dedecms安装之后默认即开启漏洞模块。
知道创宇给出三种临时解决方案:
方案一、临时补丁,需要四步
1. 确保您的magic_quotes_gpc = On
详细开启方式:打开php安装目录中的php.ini(若您使用的是appserv等集成环境,php.ini可能在系统盘符:\windows\php.ini),搜索magic_quotes_gpc,将其设置为On。
2.
/plus/carbuyaction.php 22行附近即
if($cfg_mb_open == 'N') { ShowMsg("系统关闭了会员功能,因此你无法访问此页面!","javascript:;"); exit(); }
下面添加一行代码
$rs =array();
3.
在 member/ajax_membergroup.php 33行附近即
if(empty($membergroup)){ echo "您还没有设置分组!"; exit; }
下面加入如下代码:
if(strpos($membergroup,"'")){ echo "SQL注入防护临时补丁,知道创宇安全团队提醒您关注官方补丁!"; exit; }
4.
原member/ajax_membergroup.php 36 行附近的
$row = $dsql->GetOne("SELECT groupname FROM #@__member_group WHERE mid = {$cfg_ml->M_ID} AND id={$membergroup}");
修改为
$row = $dsql->GetOne("SELECT groupname FROM #@__member_group WHERE mid = {$cfg_ml->M_ID} AND id='{$membergroup}'");
方案二、以网站管理员身份后台禁用会员功能
系统 -> 系统基本参数 -> 会员设置 -> 是否开启会员功能 改为(否)
方案三、若贵站不需要会员功能,可考虑直接重命名或删除存在漏洞的文件 /member/ajax_membergroup.php,最暴力却最有效的方式。
注明:本文给出的临时补丁仅供临时防御,对系统造成轻微影响尚未进行系统测试,具体补丁等需等待官方补丁。
------解决方案--------------------
phpnewnew 一直在贡献 。辛苦了。替大伙感谢你了,DEDECMS 用户有福了。
------解决方案--------------------
我经常用DEDE 有时也被黑
------解决方案--------------------
------解决方案--------------------
不认为
$row = $dsql->GetOne("SELECT groupname FROM #@__member_group WHERE mid = {$cfg_ml->M_ID} AND id={$membergroup}");
这个可能产生威胁
有点杞人忧天了吧?
------解决方案--------------------
------解决方案--------------------
设 $membergroup 为未经处理的直接 url 变量
那么
$row = $dsql->GetOne("SELECT groupname FROM #@__member_group WHERE mid = {$cfg_ml->M_ID} AND id=0 or 1=1"
只是取到表中数据的第一条数据
这个第一条数据通常就是分类的根,这就是不能构成威胁的原因
------解决方案--------------------
这样不是{$membergroup}如果是用户可操作的数据那不是可以整形注入了吗
------解决方案--------------------
不是可以union其它表嘛,如果是root权限的话结合mysql的函数就可以爆出文件代码,再爆root密码登录insert php代码输出form上传小马。。。。。。
以上纯设想,
------解决方案--------------------