0x00 漏洞描述
2019年9月26日,PHP官方发布漏洞通告称nginx php-fpm服务器在部分错误配置下存在远程代码执行漏洞。2019年10月22日,外籍白帽子Andrew Danau在9月份Real World CTF比赛中意外发现的POC被公开,当向目标服务器发送 符号时,服务器返回异常,大概率存在漏洞。
0x01 漏洞描述
当Nginx使用特定的fastcgi配置时,存在远程代码执行漏洞,但这个配置并非Nginx默认配置。当fastcgi_split_path_info字段被配置为 ^(. ?.php)(/.*)$;时,可造成远程代码执行漏洞。
location ~ [^/].php(/|$) {
fastcgi_split_path_info ^(. ?.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
...
}
}
0x02 漏洞复现
靶机:ubuntu/win7
安装环境:
wget https://raw.githubusercontent.com/vulhub/vulhub/master/php/CVE-2019-11043/default.conf
wget https://raw.githubusercontent.com/vulhub/vulhub/master/php/CVE-2019-11043/docker-compose.yml
wget https://raw.githubusercontent.com/vulhub/vulhub/master/php/CVE-2019-11043/www/index.php
POC:https://github.com/neex/phuip-fpizdam
改POC利用go build进行编译,我们使用编译好的exe文件进行验证。
访问http://192.168.1.102:8080/index.php?a=id
0x03 修复建议
删除如下配置;
fastcgi_split_path_info ^(. ?.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info。
手握日月摘星辰,安全路上永不止步。
- Khan攻防安全实验室