Discuz ssrf rce(redis情况下) 注入代码漏洞 [复制链接]

moqu8 2017-10-4

4 0

漏洞概述

discus支持多种缓存方式(redis,memcache),而一般情况下,大多数都会将redis或memcache安装在本地,而且默认安装的redis是可以直接访问的,不需要账号密码,这里就有一个潜在的问题,如果discuz的安全性得不到保证,存在ssrf,那么有几率导致ssrf操作redis从而修改缓存注入我们自己的代码。

漏洞详情

如果discuz启用后台的缓存,具体在“全局”—>”内存优化”中,默认这里是不启用的,要修改和启用缓存,我们需要修改discuz中config/config_golbal.php文件,修改里面关于redis的设置。当启用了redis后,discuz会将缓存存放在$_G中。


接下来我们来分析具体代码
source\class\discuz\discuz_application.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private function _init_setting() {
        if($this->init_setting) {
            if(empty($this->var['setting'])) {
                $this->cachelist[] = 'setting';
            }
 
            if(empty($this->var['style'])) {
                $this->cachelist[] = 'style_default';
            }
            if(!isset($this->var['cache']['cronnextrun'])) {
                $this->cachelist[] = 'cronnextrun';
            }

.hottip{font-size:12px; color:#999999; border:1px solid #dcdcdc; background-color:#f9f9f9; padding:6px 10px; margin:14px 0px;}


最新回复 (0)
返回
支持中心
邮箱:winkill2012@qqcom
新站优化中!部分功能尚未完善,敬请谅解!
支持中心