刚接手客户的一个由织梦dedecms搭建的企业网站,管理员密码找不到了,还好有ftp的密码,由dede的mysql密码配置文件:common.inc.php获得了mysql权限。
admin表中pwd中赫然写着:c3949ba59abbe56e057f,我勒个去,这是啥加密方式,见过混合加密的,但一般最后都是md5一下,应该16或32位,这个什么呀??20位….
百度了一下织梦管理员密码的加密方式,发现想这个方法的人绝了,一般都是混合字符串进去然后md5,dedecms呢?直接md5然后取32位中从第五位开始的20个字符。按照概率来说这20个确实可以用于比对密码是否正确。
转念一想不对呀,大名鼎鼎的md5 16位加密不是也是从32位中提取的吗?也就是从第九位开始取16位,正好在这20个字符串里。
就是说比如原密码是123456
他的md5 32是:e10adc3949ba59abbe56e057f20f883e
dede取:e10adc3949ba59abbe56e057f20f883e? 就是:c3949ba59abbe56e057f2
实际上md5 16是:?e10adc3949ba59abbe56e057f20f883e 就是:49ba59abbe56e057
也就是说你的dede加密密码只要从第四位开始取16位就是md5 16的密码:c3949ba59abbe56e057f2
这种几乎是解决不了了,但我们可以使用一些简单的办法,直接MD5一个密码,再前后尝试,还有一种办法。
密码重设工具有UTF-8/GBK两个版本,适用于 DedeCMS V5.3-5.6 版本。
这样可以方便新手操作。也可以进数据库对加密后的密码进行破解,这样也能找回忘记了的密码。
一、GBK版本的网站点下面的 show source 复制这段代码。
代码如下 | 复制代码 | ||||||||
/********************** if($step==1) { $dsql->SetQuery("Select * From `#@__admin` where usertype='10'"); $dsql->Execute("ut"); ?>
}elseif($step==2){ $row = $dsql->GetOne("Select * From `#@__admin` where id='$id'"); ?>
}elseif($step==3){ $pwdm = ''; if($pwd!=''){ $pwdm = ",pwd='".md5($pwd)."'"; $pwd = ",pwd='".substr(md5($pwd),5,20)."'"; } $query = "Update `#@__admin` set uname='$uname' $pwd where id='$id'"; $dsql->ExecuteNoneQuery($query); $query = "Update `#@__member` set uname='$uname' $pwdm where mid='$id'"; $dsql->ExecuteNoneQuery($query); ShowMsg("成功更改一个帐户!","radminpass.php"); } ?> |
三、保存为radminpass.php,上传到网站根目录运行“http://yousite/radminpass.php(yousite为网站域名)”,按照操作执行就可以。恢复完成后请及时删除这个文件!
水物理模拟器手机版 安卓版v1.3.39
水物理模拟器是一款玩法非常多样的沙盒建造类手游,玩家可以在游
创造世界2 安卓版v2.1.0
创造世界2是一款非常有趣的模拟类游戏,玩家在游戏中可以控制自
时光杂货店0.1折 安卓版v1.9.1
时光杂货店折扣版是一款模拟经营类游戏,玩家们将在游戏中重回八
TRS12火车模拟器(内置模组) 安卓版v1.3.9
TRS12火车模拟器(内置模组)是一个非常有趣的火车模拟游戏
泽塔奥特曼升华器模拟器 最新版v2.3
泽塔奥特曼升华器模拟器是根据《泽塔奥特曼》电视剧出现的变身器