IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    没穿底裤发表于 2015-08-17 02:21:32
    love 0

    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



沪ICP备19023445号-2号
友情链接