Discuz全版本存储型DOM XSS(可打管理员)附Discuz官方开发4大坑&验证脚本

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 demo demo /static/js/common.js: demo demo /static/js/bbcode.js: demo /static/js/editor.js demo demo 调试流程: demo demo demo demo 触发过程: 发表帖子,编辑器内输入
[email=2"onmouseover="alert(2)]2[/email]
,支持的bbcode类型可在bbcode.js中查看。 点击编辑时即可触发,由于是编辑器前端产生的问题,因此有权限编辑帖子的角色都会受到影响,包括版主,管理员。 demo demo demo

发表评论