漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-099979
漏洞标题:Discuz全版本存储型DOM XSS(可打管理员)附Discuz官方开发4大坑&验证脚本
相关厂商:Discuz!
漏洞作者: ModNar
提交时间:2015-03-07 11:21
修复时间:2015-06-07 09:58
公开时间:2015-06-07 09:58
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-03-07: 细节已通知厂商并且等待厂商处理中
2015-03-09: 厂商已经确认,细节仅向厂商公开
2015-03-12: 细节向第三方安全合作伙伴开放
2015-05-03: 细节向核心白帽子及相关领域专家公开
2015-05-13: 细节向普通白帽子公开
2015-05-23: 细节向实习白帽子公开
2015-06-07: 细节向公众公开
简要描述:
由此次漏洞和上次的命令注入,看出Discuz官方开发4大坑:
1.发的补丁和diff官方最新版本安装包的结果不一定相同(导致后台升级,手动更新后已经在新版本修了的漏洞还在)
2.发补丁不发修复点的公告(导致二次开发的站考虑到兼容性不愿第一时间更新)
3.在线上改代码修漏洞却不发补丁
4.发补丁,发新版本安装包的时间,论坛发补丁帖的时间不一致,参见:http://download.comsenz.com/DiscuzX/3.2/
http://www.discuz.net/forum-10-1.html
详细说明:
Discuz编辑器JS处理不当导致的存储型XSS。
产生原因:
JS原生取ELEMENT中HTML内容的方法,会将服务端转义过的单双引号实体编码进行反转。
代码分析:
这里用最新版本本地测payload为:[align="onmouseover="alert(1)]
官方论坛站点悄悄于2015-1-21改了代码,导致以上payload被过滤,不过用[email=2"onmouseover="alert(2)]2[/email]可绕过。
/forum.php?mod=post&action=edit&fid=xx&tid=xx&pid=xx&page=x
/static/js/common.js:
/static/js/bbcode.js:
/static/js/editor.js
调试流程:
漏洞证明:
触发过程:
发表帖子,编辑器内输入[email=2"onmouseover="alert(2)]2[/email],支持的bbcode类型可在bbcode.js中查看。
点击编辑时即可触发,由于是编辑器前端产生的问题,因此有权限编辑帖子的角色都会受到影响,包括版主,管理员。
修复方案:
调试过程已经很清楚了,在哪修复,过滤转义还是加白。请自行考虑。
版权声明:转载请注明来源 ModNar@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2015-03-09 09:56
厂商回复:
感谢您发现的问题,我们会尽快给于修复
最新状态:
暂无