影响范围
在使用 Nginx+php+fpm 的服务器上,使用如下配置,都有可能存在远程代码执行漏洞
location ~ [^/]\.php(/|$) {
...
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
}
漏洞复现
这里我采用 vulhub 构建好的漏洞环境 https://github.com/vulhub/vulhub/tree/master/php/CVE-2019-11043
需要用到 docker&docker-compose up -d
测试地址:http://127.0.0.1:8080/index.php
下载网上公开的Poc 包 (需要 go 环境),并进行编译 go build,编译好后会在文件夹中生成一个 phuip-fpizdam.exe
然后使用生成的 exp 攻击测试网站
phuip-fpizdam.exe "http://127.0.0.1:8080/index.php"
攻击成功