dedecms最近被曝有非常多的安全漏洞,最近有些用户反应后台管理员账号密码没有修改但无法正常登陆,提示用户名不存在,经研究发现是程序漏洞管理员被直接篡改,解决方案如下。
一、请先使用phpmyadmin登陆mysql管理,虚拟主机可以点击控制面板左边数据库,然后点击在线管理mysql数据库可以进入phpmyadmin管理数据库
登陆以后查看dede_admin表里面的用户是否被篡改为spider 点击编辑,直接将spider修改为您需要的管理员,pwd替换为962ac59075b964b07152,这个密码是123,更改以后请及时登陆网站后台进行修改密码。
二、下载 /include/dedesql.class.php和/include/dedesqli.class.php
找到如下代码:
if(isset($GLOBALS['arrs1']))
{
$v1 = $v2 = '';
for($i=0;isset($arrs1[$i]);$i++)
{
$v1 .= chr($arrs1[$i]);
}
for($i=0;isset($arrs2[$i]);$i++)
{
$v2 .= chr($arrs2[$i]);
}
$GLOBALS[$v1] .= $v2;
}
修改为:
$GLOBALS['arrs1']=array();//fixedbyknownsec.com 2013.06.07
if(isset($GLOBALS['arrs1']))
{
$v1 = $v2 = '';
for($i=0;isset($arrs1[$i]);$i++)
{
$v1 .= chr($arrs1[$i]);
}
for($i=0;isset($arrs2[$i]);$i++)
{
$v2 .= chr($arrs2[$i]);
}
$GLOBALS[$v1] .= $v2;
}
有些版本dedesqli.class.php里面没有这段代码,修改前请做好备份,然后再重新上传,此漏洞临时修补方法来源于:http://www.cctime.com/html/2013-6-8/2013681021556610.htm 我司只测试过该方法对账号漏洞的修补功能有效,对系统其它功能有无影响没有测试,如有影响请还原测试,dedecms漏洞非常多并且很严重,请注意及时升级更新补丁。