当前位置:首页 > CMS教程 > DeDecms > 列表

织梦DEDECMS管理员密码破解方法总结

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-12 13:36:13 浏览: 评论:0 

要破解dedecms管理员密码我们就必须知道dedecms管理员密码生成规则,下面我来给大家介绍一下管理员密码破解方法.

刚接手客户的一个由织梦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版本的网站点下面的这段代码,代码如下:

  1. <?php 
  2. /********************** 
  3. DedeCMS 管理员帐号重设工具. 
  4. http://bbs.dedecms.com/ 
  5. ***********************/ 
  6. //error_reporting(E_ALL || ~E_NOTICE); 
  7. require_once(dirname(__FILE__)."/include/common.inc.php"); 
  8. if(emptyempty($step)) 
  9. { 
  10. $step = 1; 
  11. } 
  12. ?> 
  13. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  14. <html xmlns="http://www.w3.org/1999/xhtml"> 
  15. <head> 
  16. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
  17. <title>密码重设工具_GBK</title> 
  18. <style type="text/css"> 
  19. <!-- 
  20. body { 
  21. font-family: "MS Serif", "New York", serif; 
  22. font-size: 12px; 
  23. color: #000; 
  24. } 
  25. table { 
  26. border-top-width: 1px; 
  27. border-right-width: 1px; 
  28. border-left-width: 1px; 
  29. border-top-style: dotted; 
  30. border-right-style: dotted; 
  31. border-left-style: dotted; 
  32. border-top-color: #CCC; 
  33. border-right-color: #CCC; 
  34. border-left-color: #CCC; 
  35. } 
  36. td { 
  37. border-bottom-width: 1px; 
  38. border-bottom-style: dotted; 
  39. border-bottom-color: #CCC; 
  40. } 
  41. --> 
  42. </style> 
  43. </head> 
  44. <body> 
  45. <?php 
  46. if($step==1) 
  47. { 
  48. $dsql->SetQuery("Select * From `#@__admin` where usertype='10'"); 
  49. $dsql->Execute("ut"); 
  50. ?> 
  51. <table width="98%" border="0" align="center" cellpadding="3" cellspacing="1"> 
  52.   <tr> 
  53.     <td height="19" bgcolor="#E7E7E7"><table width="96%" border="0" cellspacing="1" cellpadding="1"> 
  54.       <tr> 
  55.         <td width="24%"><b><strong>第一步:选择管理员账号</strong></b></td> 
  56.         <td width="76%" align="right">&nbsp;</td> 
  57.       </tr> 
  58.     </table></td> 
  59.   </tr> 
  60.   <tr> 
  61.     <td height="215" align="center" valign="top" bgcolor="#FFFFFF"><form action="radminpass.php" method="post" name="form1" id="form1"> 
  62.       <input type="hidden" name="step" value="2" /> 
  63.       <table width="98%" border="0" cellspacing="1" cellpadding="1"> 
  64. <tr> 
  65.           <td height="60" colspan="2" align="left">本工具是用于新人忘记管理员密码重设所制作,只需要将radminpass.php文件拷贝到根目录,运行&ldquo;http://yousite/radminpass.php(yousite为网站域名)&rdquo;,按照操作执行就可以。<font color="#FF0000">恢复完成后请及时删除这个文件!</font></td> 
  66.           </tr> 
  67.         <tr> 
  68.           <td width="16%" height="30" align="left">选择超级管理员ID:</td> 
  69.           <td width="84%" align="left"> 
  70.             <select name='id' style='width:150px'> 
  71.               <?php 
  72.   while($myrow = $dsql->GetObject("ut")) 
  73.   { 
  74.   echo "<option value='".$myrow->id."'>".$myrow->userid."</option>rn"; 
  75.   } 
  76.   ?> 
  77.               </select> 
  78.             </td> 
  79.         </tr> 
  80.         <tr> 
  81.           <td height="60" align="left">&nbsp;</td> 
  82.           <td align="left"><input type="submit" name="Submit" value="下一步&gt;" class="coolbg np" /></td> 
  83.         </tr> 
  84.       </table> 
  85.     </form></td> 
  86.   </tr> 
  87. </table> 
  88. <?php 
  89. }elseif($step==2){ 
  90. $row = $dsql->GetOne("Select * From `#@__admin` where id='$id'"); 
  91. ?> 
  92. <table width="98%" border="0" align="center" cellpadding="3" cellspacing="1"> 
  93.   <tr> 
  94.     <td height="19" bgcolor="#E7E7E7"><table width="96%" border="0" cellspacing="1" cellpadding="1"> 
  95.       <tr> 
  96.         <td width="24%"><b><strong>第二步:修改管理员密码</strong></b></td> 
  97.         <td width="76%" align="right">&nbsp;</td> 
  98.       </tr> 
  99.     </table></td> 
  100.   </tr> 
  101.   <tr> 
  102.     <td height="215" align="center" valign="top" bgcolor="#FFFFFF"><form action="radminpass.php" method="post" name="form1" id="form1"> 
  103.       <input name="step" type="hidden" id="step" value="3" /> 
  104.       <input type="hidden" name="id" value="<?php echo $row['id']?>" /> 
  105.       <table width="98%" border="0" cellspacing="1" cellpadding="1"> 
  106.         <tr> 
  107.           <td width="16%" height="30" align="left">用户登录ID:</td> 
  108.           <td width="84%" align="left"><?php echo $row['userid']?></td> 
  109.         </tr> 
  110.         <tr> 
  111.           <td height="30" align="left">用户笔名:</td> 
  112.           <td align="left"><input name="uname" type="text" id="uname" size="16" value="<?php echo $row['uname']?>" style="width:200px" /> 
  113.             &nbsp;(发布文章后显示责任编辑的名字) </td> 
  114.         </tr> 
  115.         <tr> 
  116.           <td height="30" align="left">用户密码:</td> 
  117.           <td align="left"><input name="pwd" type="text" id="pwd" size="16" style="width:200px" /> 
  118.             &nbsp;(留空则不修改,只能用'0-9a-zA-Z.@_-!'以内范围的字符) </td> 
  119.         </tr> 
  120.         <tr> 
  121.           <td height="60" align="left">&nbsp;</td> 
  122.           <td align="left"><input type="submit" name="Submit" value="确定修改 " class="coolbg np" /></td> 
  123.         </tr> 
  124.       </table> 
  125.     </form></td> 
  126.   </tr> 
  127. </table> 
  128. <?php 
  129. }elseif($step==3){ 
  130. $pwdm = ''; 
  131. if($pwd!=''){ 
  132. $pwdm = ",pwd='".md5($pwd)."'"; 
  133. $pwd = ",pwd='".substr(md5($pwd),5,20)."'"; 
  134. } 
  135. $query = "Update `#@__admin` set uname='$uname' $pwd where id='$id'"; 
  136. $dsql->ExecuteNoneQuery($query); 
  137. $query = "Update `#@__member` set uname='$uname' $pwdm where mid='$id'"; 
  138. $dsql->ExecuteNoneQuery($query); 
  139. ShowMsg("成功更改一个帐户!","radminpass.php"); 
  140. } 
  141. ?> 
  142. </body> 
  143. </html> 
二、保存为radminpass.php,上传到网站根目录运行“http://yousite/radminpass.php(yousite为网站域名)”,按照操作执行就可以,恢复完成后请及时删除这个文件.

Tags: DEDECMS 管理员密码

分享到: