0x01 前言

2019年10月23日,PHP官方发布了在 nginx 配置不当的情况下 php-fpm 可导致远程代码执行的漏洞。

但由于是配置文件的开放性,还请使用 nginx+php-fpm 的服务管理员/运维人员及时做好自查自检工作。

能不能不举报我了,总被禁言。。。我苦啊!

0x02 漏洞详情

在 https://github.com/php/php-src/blob/master/sapi/fpm/fpm/fpm_main.c#L1150 中由于(%0a)的传入导致nginx传递给php-fpm的PATH_INFO为空。

进而导致可以通过FCGI_PUTENV与PHP_VALUE相结合,修改当前的php-fpm进程中的php配置。在特殊构造的配置生效的情况下可以触发任意代码执行。

注:完全复制Nginx官方给出的php-fpm示例配置的用户受到此漏洞影响

示例配置如下:

PHP FastCGI Example | NGINX

0x03 漏洞证明:

使用配置文件

0x04 修复建议

  1. 修改 nginx 配配置文件中fastcgi_split_path_info的正则表达式,不允许.php之后传入不可显字符
  2. 暂停使用 nginx+php-fpm 服务
  3. 删除如下配置
 fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info;

nginx php 配置请求等待时间_CVE-2019-11043: PHP-FPM在Nginx特定配置下任意代码执行漏洞预警...相关推荐

  1. java 任意代码执行漏洞_php-fpm在nginx特定环境下的任意代码执行漏洞(CVE-2019-11043)...

    目录 0x01 漏洞介绍 0x02 漏洞影响 0x03 漏洞复现 0x01 漏洞介绍 在长亭科技举办的 Real World CTF 中,国外安全研究员 Andrew Danau 在解决一道 CTF ...

  2. MS08-067远程代码执行漏洞(CVE-2008-4250) | Windows Server服务RPC请求缓冲区溢出漏洞复现

    MS08-067远程代码执行漏洞(CVE-2008-4250) | Windows Server服务RPC请求缓冲区溢出漏洞复现 文章目录 MS08-067远程代码执行漏洞(CVE-2008-4250 ...

  3. Hack The Box - Meta 利用Exiftool远程代码执行漏洞获取webshell,ImageMagrick命令执行漏洞横向提权,更改环境配置SUDO纵向提权

    Hack The Box - Meta Hack The Box开始使用流程看这篇 文章目录 Hack The Box - Meta 整体思路 1.Nmap扫描 2.Exiftool远程代码执行漏洞( ...

  4. php %00,Nginx %00 null byte执行任意代码(php)漏洞

    Ngnix在遇到%00空字节时与后端FastCGI处理不一致,导致可以在图片中嵌入PHP代码然后通过访问abc.png%00.php来执行其中的代码,恶意攻击者可以通过上传包含执行代码的图片文件来执行 ...

  5. windows nginx c++读取请求数据_轻松应对百万并发的Nginx,搞懂LinuxC/C++这些技术栈升职加薪...

    在深入了解 Nginx 各种原理及在极端场景下的一些错误场景处理时,需要首先理解什么是网络事件. Nginx 是一个事件驱动的框架,所谓事件主要指的是网络事件,Nginx 每个网络连接会对应两个网络事 ...

  6. tomcat配置请求指定html文件路径,Tomcat8限制指定域名或者IP访问(示例代码)

    环境: Tomcat8.0.53 目标: 设置为使用指定的域名或者IP访问 1. 设置域名访问 1.1 打开Tomcat下conf目录的server.xml文件,找到以下信息 修改 Engine en ...

  7. zuul配置请求拦截_spring cloud网关通过Zuul RateLimit 限流配置

    在平常项目中为了防止一些没有token访问的API被大量无限的调用,需要对一些服务进行API限流.就好比拿一些注册或者发验证码的一些接口,如果被恶意无限的调用,多少会造成一些费用的产生,发短信或者邮件 ...

  8. nginx学习笔记(7)Nginx如何处理一个请求---转载

    如何防止处理未定义主机名的请求 基于域名和IP混合的虚拟主机 一个简单PHP站点配置 基于名字的虚拟主机 Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一个简单的配置(其中全部3个虚拟主机都在 ...

  9. 阿里云服务器安装并配置nginx代理转发请求

    阿里云服务器安装并配置nginx代理转发请求 下载nginx安装包,或者上传nginx安装包,此处我用的是Xmanager工具从本地上传了一个nginx安装包. 安装依赖库 yum -y instal ...

最新文章

  1. 规划2021年技术路标,百度研究院做出了这样一份预测
  2. OprenCV学习之路一:将彩色图片转换成灰度图
  3. 汇编语言AND指令:对两个操作数进行逻辑(按位)与操作
  4. Java能做什么?学完Java可以从事什么工作呢?
  5. matlab中的地理数据结构体,matlab中怎么定义结构体啊 !!!
  6. linux socket recv函数如何判断收完一包_linux 下经典 IO 复用模型 epoll 的使用
  7. jQuery Ajax
  8. 安装Python第三方库的常用方法和注意事项
  9. locktty锁终端的方法
  10. 个人比较喜欢的一个故事,与大家分享一下
  11. 马哥Linux网络班作业(6)
  12. PTA 1003 Emergency
  13. (重磅)最快的Hadoop完全分布式运行
  14. 通过phpmyadmin确认此版本的php支持mssql函数,Php5.6.4+IIS8.5+mysql5.6.22+phpmyadmin4.3.6的配置...
  15. 高并发模拟( 测试 )
  16. 关于元素水平垂直居中的那些事?
  17. vue:ali 阿里矢量图库 ico
  18. vue 去掉黄色警告
  19. 移植u-boot-2010.12.tar.bz2版本到s3c2440过程
  20. matlab乘法和除法

热门文章

  1. 欢庆1024之:程序猿不是你想黑,想黑就能黑!
  2. PHP成为首个在内核中嵌入加密库的编程语言
  3. 物联网处理器定义混沌不明,市场尚未成熟
  4. 二线城市的我,和北京的同学比成长
  5. Arduino 与 MPU6050 姿态解算+ PROCESSING
  6. Android开发总结
  7. windows server操作系统一定要关闭开机磁盘自检
  8. 原创:Docker在云家政的应用 谢绝复制粘贴内容
  9. Android签名机制之---签名验证过程详解
  10. 登陆sqlserver及修改端口号