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

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

缺陷编号:wooyun-2015-0151687

漏洞标题:Discuz!最新版本帖子正文存在存储型xss漏洞

相关厂商:Discuz!

漏洞作者: Jannock

提交时间:2015-11-04 12:04

修复时间:2015-12-21 10:00

公开时间:2015-12-21 10:00

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-11-04: 细节已通知厂商并且等待厂商处理中
2015-11-06: 厂商已经确认,细节仅向厂商公开
2015-11-16: 细节向核心白帽子及相关领域专家公开
2015-11-26: 细节向普通白帽子公开
2015-12-06: 细节向实习白帽子公开
2015-12-21: 细节向公众公开

简要描述:

影响官方最新x2.5,x3.x,听说漏洞收藏太久会发霉。

详细说明:

需要开启多媒体代码功能(这个目前很多大站开启了)
source\function\function_discuzcode.php

if(strpos($msglower, '[/flash]') !== FALSE) {
$message = preg_replace("/\[flash(=(\d+),(\d+))?\]\s*([^\[\<\r\n]+?)\s*\[\/flash\]/ies", $allowmediacode ? "parseflash('\\2', '\\3', '\\4');" : "bbcodeurl('\\4', '<a href=\"{url}\" target=\"_blank\">{url}</a>')", $message);
}


跟踪
parseflash

function parseflash($w, $h, $url) {
$w = !$w ? 550 : $w;
$h = !$h ? 400 : $h;
preg_match("/((https?){1}:\/\/|www\.)[^\[\"'\?]+(\.swf|\.flv)(\?.+)?/i", $url, $matches);
$url = $matches[0];
$randomid = 'swf_'.random(3);
if(fileext($url) != 'flv') {
return '<span id="'.$randomid.'"></span><script type="text/javascript" reload="1">$(\''.$randomid.'\').innerHTML=AC_FL_RunContent(\'width\', \''.$w.'\', \'height\', \''.$h.'\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\''.$url.'\'), \'quality\', \'high\', \'bgcolor\', \'#ffffff\', \'wmode\', \'transparent\', \'allowfullscreen\', \'true\');</script>';
} else {
return '<span id="'.$randomid.'"></span><script type="text/javascript" reload="1">$(\''.$randomid.'\').innerHTML=AC_FL_RunContent(\'width\', \''.$w.'\', \'height\', \''.$h.'\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', \''.STATICURL.'image/common/flvplayer.swf\', \'flashvars\', \'file='.rawurlencode($url).'\', \'quality\', \'high\', \'wmode\', \'transparent\', \'allowfullscreen\', \'true\');</script>';
}
}


可以看出
preg_match("/((https?){1}:\/\/|www\.)[^\[\"'\?]+(\.swf|\.flv)(\?.+)?/i", $url, $matches);
正则处理不当
(\?.+)
从而可以带进“'”
到 encodeURI(\''.$url.'\'),从而造成存储型xss

漏洞证明:

内容中提交

[flash]http://localhost/flash.swf?'+alert(0)+'[/flash]


3.jpg


下面是 x25的

2.png


大站实例

1.png

修复方案:

修正正则

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-11-06 09:59

厂商回复:

感谢您提出的问题,我们会尽快修复

最新状态:

暂无


漏洞评价:

评论

  1. 2015-11-04 12:15 | 子非海绵宝宝 认证白帽子 ( 核心白帽子 | Rank:1250 漏洞数:124 | 发扬海绵宝宝的精神!你不是海绵宝宝,你怎...)

    前排

  2. 2015-11-04 12:20 | hecate ( 普通白帽子 | Rank:569 漏洞数:90 | ®高级安全工程师 | WooYun认证√)

    发霉了拿出来晒晒

  3. 2015-11-04 12:37 | 随风的风 ( 普通白帽子 | Rank:180 漏洞数:60 | 微信公众号:233sec 不定期分享各种漏洞思...)

    发霉了,拿出来晒晒。

  4. 2015-11-04 12:49 | Daryl ( 路人 | Rank:16 漏洞数:5 | '"><img/src=1 onerror=alert('干啥啥不会'...)

    发霉了,拿出来晒晒。

  5. 2015-11-04 13:12 | 带馅儿馒头 ( 核心白帽子 | Rank:1297 漏洞数:147 | 心在,梦在)

    膜拜一哥

  6. 2015-11-04 13:13 | 90Snake ( 普通白帽子 | Rank:124 漏洞数:43 | 最大的漏洞就是人,SSS论坛,各种神思路。)

    发霉了,拿出来晒晒。

  7. 2015-11-04 13:28 | 糖剩七颗 ( 普通白帽子 | Rank:626 漏洞数:81 | 天涯何处无屌丝)

    永远的一哥

  8. 2015-11-04 13:43 | zhiher ( 路人 | Rank:16 漏洞数:4 )

    永远的一哥

  9. 2015-11-04 13:54 | 撸大叔 ( 实习白帽子 | Rank:62 漏洞数:11 | 钓鱼培养耐心 养鱼需要精心!)

    永远的一哥

  10. 2015-11-04 14:16 | ppt ( 路人 | Rank:11 漏洞数:2 | ) | ( 我猜出了用户名,可我没猜出密码。)

    放到阳光下

  11. 2015-11-04 14:19 | 乐乐、 ( 普通白帽子 | Rank:868 漏洞数:189 )

    卧槽 ...

  12. 2015-11-04 15:13 | Forever80s ( 普通白帽子 | Rank:1037 漏洞数:146 )

    额 不错

  13. 2015-11-04 15:39 | 笙心 ( 实习白帽子 | Rank:40 漏洞数:12 )

    永远的一哥

  14. 2015-11-04 15:41 | 鬼见愁 ( 路人 | Rank:10 漏洞数:1 | 挖洞之神)

    @猪猪侠才是一哥

  15. 2015-11-04 16:13 | fakeidentity ( 路人 | Rank:6 漏洞数:2 | 既然给了我天空,那还束缚我干吗)

    不明真相群众围观

  16. 2015-11-04 16:17 | 晓海’ ( 路人 | Rank:1 漏洞数:3 | 一个IT界的酱油帝,坚信分享,创造未来!)

    看来有一大波网站要沦陷了。

  17. 2015-11-04 17:29 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    我擦,帖子正文。。。跟卡饭有关系没?

  18. 2015-11-04 19:45 | 大师兄 ( 路人 | Rank:14 漏洞数:7 | 每日必关注乌云)

    mark

  19. 2015-11-04 20:43 | xiaokinghk ( 实习白帽子 | Rank:82 漏洞数:16 | 【DBA】)

    围观一哥

  20. 2015-11-05 00:20 | 邪少 ( 实习白帽子 | Rank:71 漏洞数:9 | 百里长苏)

    @疯狗 那啥 secury.wooyun.org 国外的手机如何注册?

  21. 2015-11-05 16:59 | ConTrol ( 普通白帽子 | Rank:135 漏洞数:43 | 【HD】以团队之名 以个人之荣耀 共建网...)

    套上黑塑料袋晒一晒 有助于杀菌

  22. 2015-11-06 01:15 | 安徽小伙怕过谁? ( 路人 | Rank:4 漏洞数:1 | 学习中)

    @Jannock永远的一哥发霉了拿出来晒晒 有助于杀菌

  23. 2015-11-06 17:34 | 菜菜 ( 实习白帽子 | Rank:83 漏洞数:7 | cnidc.hk:500:D5B9985DFBA5FE8A050A39C249C...)

    前排围观

  24. 2015-11-12 08:53 | 风铃冷冷 ( 路人 | Rank:0 漏洞数:1 | <img />)

    厉害

  25. 2015-12-03 17:05 | 珈蓝夜宇 ( 普通白帽子 | Rank:206 漏洞数:33 | 人不彻底绝望一次,就不会懂得什么是自己最...)

    问个问题: 文中提到了: localhost/flash.swf 那么,flash.swf这个文件是存不存在的呢?试了很多站都没能成功,调用外部的swf也没有成功

  26. 2015-12-03 17:44 | 珈蓝夜宇 ( 普通白帽子 | Rank:206 漏洞数:33 | 人不彻底绝望一次,就不会懂得什么是自己最...)

    x3.2中能成功,在下x2.5中不能成功,不知道是不是什么原因