nginx漏洞复现

Nginx 上 fastcgi_split_path_info 在处理带有 %0a 的请求时,会因为遇到换行符 \n 导致 PATH_INFO 为空。而 php-fpm 在处理 PATH_INFO 为空的情况下,存在逻辑缺陷。攻击者通过精心的构造和利用,可以导致远程代码执行

nginx漏洞复现_第1张图片

漏洞复现

利用大佬的docker
不可以远程代码执行:

PHP 7.0 版本

PHP 7.1 版本

PHP 7.2 版本

PHP 7.3 版本

漏洞利用poc

git clone https://github.com/neex/phuip-fpizdam
需要安装go
https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz

tar -C /usr/local/ -xzf go1.13.4.linux-amd64.tar.gz

临时添加到环境变量
export PATH= P A T H : / u s r / l o c a l / g o / b i n 永 久 添 加 到 环 境 变 量 v i m / e t c / p r o f i l e 添 加 e x p o r t P A T H = PATH:/usr/local/go/bin 永久添加到环境变量 vim /etc/profile 添加 export PATH= PATH:/usr/local/go/binvim/etc/profileexportPATH=PATH:/usr/local/go/bin
执行source /etc/profile

进入poc目录运行go build 进行编译
在这里插入图片描述如果超时的话添加如下环境变量

export GOPROXY=https://goproxy.io

使用phuip-fpizdam编译好的工具,发送数据包:
nginx漏洞复现_第2张图片攻击成功
nginx漏洞复现_第3张图片

你可能感兴趣的:(nginx漏洞复现)