网站主体由DEDECMS搭建,并且加入了UcenterHome的SNS成分。尝试dede后台未果。随便写了些提示V5.31,哦好像不怎么稳定的说。
无意之中闯入某个目录,哪个来着,记不清了(不说就算了)//俺也是为了大家都好,反正把,得到了用户名和密码如下:
INSERT INTO `dede_admin` VALUES(’1′,’10′,’admin’,'f26426fa5440d90f8′,’admin’……
//这只是个例子,不是真实的,不过位数一样的
很显然,现在一般网站都是md5加密,可这个字符串是20位的,上网查有16.32甚至40位的,就是没见过20位的呀。
网上寻求破解,官方有个工具,需要将文件传到根目录才可以用,看来无望了……
不过还好,拿出来分析分析。
elseif($step==3){
$pwdm = ”;
if($pwd!=”){
$pwdm = “,pwd=’”.md5($pwd).”‘”;
$pwd = “,pwd=’”.substr(md5($pwd),5,20).”‘”;
}
$query = “Update `dede_admin` set uname=’$uname’ $pwd where id=’$id’”;
$dsql->ExecuteNoneQuery($query);
$query = “Update `dede_member` set uname=’$uname’ $pwdm where mid=’$id’”;
$dsql->ExecuteNoneQuery($query);
ShowMsg(”成功更改一个帐户!”,”radminpass.php”);
}
没怎么看懂,member经过md5 直接加密的吧
admin 的md5加密了,然后从第5位开始取20个字符。
汗……以前见过40位的,好像是加起来的,这个倒好还减了几个字符,这怎么弄?郁闷中。
好复杂呀,先放着吧,目前还破不了……
上面是网上搜索到的关于dedecms加密的文章,由上面我们知道DEDE的MD5是从第5位(取20)开始将32位MD5变成了一个20位的密码,不知道DEDE编写者是不是忘记16位MD5也是可以从32位中取16获得的,就是从第9位(取16)而得到16位的加密密码。下面sys_admin_user_add.php 文件是最新的5.5版本,可以看出加密方式没有改变。
sys_admin_user_add.php 文件源代码:
require_once(dirname(__FILE__)./config.php);
CheckPurview('sys_User');
require_once(DEDEINC./typelink.class.php);
if(empty($dopost))
{
$dopost='';
}
if($dopost=='add')
{
if(ereg([^0-9a-zA-Z_@!.-], $pwd) || ereg([^0-9a-zA-Z_@!.-], $userid))
{
ShowMsg('密码或或用户名不合法,
请使用[0-9a-zA-Z_@!.-]内的字符!', '-1', 0, 3000);
exit();
}
$safecodeok = substr(md5($cfg_COOKIE_encode.$randcode), 0, 24);
if($safecode != $safecodeok )
{
ShowMsg('请填写加密方式
原:e10adc3949ba59abbe56e057f20f883e
取:c3949ba59abbe56e057f
MD516的计算方法
原:e10adc3949ba59abbe56e057f20f883e
取:49ba59abbe56e057
如果计算DEDECMSHASH得到16位MD5?
我们只要将20位MD5 从第4位(取16即可),也可以是想成去前3减末1.就得到结果如下:
解密方式:
原:c3949ba59abbe56e057f
取:49ba59abbe56e057