php-fpm如何在nginx特定环境下的任意代码执行漏洞
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章给大家介绍php-fpm如何在nginx特定环境下的任意代码执行漏洞,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。0x01 漏洞介绍在长亭科技举办的 Real World
千家信息网最后更新 2025年12月03日php-fpm如何在nginx特定环境下的任意代码执行漏洞
这篇文章给大家介绍php-fpm如何在nginx特定环境下的任意代码执行漏洞,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
0x01 漏洞介绍
在长亭科技举办的 Real World CTF 中,国外安全研究员 Andrew Danau 在解决一道 CTF 题目时发现,向目标服务器 URL 发送%0a符号时,服务返回异常,疑似存在漏洞。
在nginx上,fastcgi_split_path_info处理带有%0a的请求时,会因为遇到换行符\n,导致PATH_INFO为空,而在php-fpm对PATH_INFO进行处理时,对其值为空时的处理存在逻辑问题,从而导致远程代码执行漏洞
在fpm_main.c文件的第1150行代码可以很明显的看出来,问题的所在
https://github.com/php/php-src/blob/master/sapi/fpm/fpm/fpm_main.c#L1150

0x02 漏洞影响
服务器环境为nginx + php-fpm,并且nginx的配置像下面这样
location ~ [^/]\.php(/|$) { ... fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass php:9000; ...}另外,PHP 5.6版本也受此漏洞影响,但目前只能 Crash,不可以远程代码执行:
PHP 7.0 版本PHP 7.1 版本PHP 7.2 版本PHP 7.3 版本
如果使用了nginx官方提供的默认配置,将会收到影响
https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/

0x03 漏洞复现
在vulhub上已经有了可以利用的漏洞环境,直接pull下来进行复现即可
使用的exp是国外研究员的go版本的
https://github.com/neex/phuip-fpizdam
自己去pull环境就可以了
完后就是复现操作
访问http://your-ip:8080/index.php
然后将exp部署到本地并利用
成功利用
这里还需要注意一下,由于只有部分php-fpm子进程受到了污染,所以请多执行几次命令
关于php-fpm如何在nginx特定环境下的任意代码执行漏洞就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
漏洞
版本
代码
环境
处理
影响
服务
内容
更多
服务器
研究员
问题
帮助
研究
配置
不错
明显
安全
成功
一道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器硬盘转移
2018网络安全座谈会
ctf网络安全大赛赛场
苏州比较有名的网络技术
增长引擎网络技术有限公司怎么样
网站发布后 链接数据库失败
水仙网络技术工作室
网络数据库的利用
移动数据库分那两步
软件开发过程的优缺点
服务器安全怎么处理办法
数据库验证规则9月
路由器 刷机 服务器
怎样知道一个app的服务器ip
2015数据库安装不上
个人博客用什么服务器
网络安全问题访谈提纲
梅县软件开发有限公司
网络安全和网络绘画图片大全
pg数据库赋权限
南通地城网络技术有限公司
软件开发用到的收费工具
安卓数据库语句增删
服务器和云计算共同点
二本软件开发专业哪个学校好
深圳排队网络技术
一个数据库怎么在两个电脑上用
sqldbx导出数据库
如何自建化合物数据库
小学生网络安全的知识内容