【vulhub】nginx解析漏洞(nginx_parsing_vulnerability)

1. nginx解析漏洞原理

fastcgi 在处理'.php'文件时发现文件并不存在,这时 php.ini 配置文件中cgi.fix_pathinfo=1 发挥作用,这项配置用于修复路径,如果当前路径不存在则采用上层路径

(1)由于 nginx.conf的配置导致 nginx把以'.php"结尾的文件交给 fastcgi 处理,为此可以构造http://ip/uploadfiles/test.png/.php(ur! 结尾不一定是'.php",任何服务器端不存在的 php 文件均可,比如'a.php"),其中 test.png,是我们上传的包含 PHP 代码的照片文件。

(2)但是fastcgi在处理'.php'文件时发现文件并不存在,这时 php.ini 配置文件中cgi.fix_pathinfo=1 发挥作用,这项配置用于修复路径,如果当前路径不存在则采用上层路径。为此这里交由 fastcgi 处理的文件就变成了'/test.png

(3)最重要的一点是 php-fpm.conf中的security.limit extensions 配置项限制了 fastcgi 解析文件的类型(即指定什么类型的文件当做代码解析),此项设置为空的时候才允许 fastcgi 将'.png"等文件当做代码解析。

2.复现过程

首先进入该目录文件夹中

使用docker开启靶场环境

查看靶场端口开放情况

访问靶场:192.168.187.135:80

上传一个图片

点击提交,并使用Burp抓取数据包,在图片内容的最后加上php代码

点击发送

使用上传的路径进行访问

在url后面再加上/.php,进行访问,图片被解析为php代码

相关推荐
杨凯凡2 小时前
IT日报|2026-11-13:GitHub 大规模凭据攻击、Signal 形式化验证、Claude 新模型与 AI 安全诉讼
人工智能·安全·github
P1Browser4 小时前
账号触发平台安全审核?拆解标准申诉流程与材料清单
大数据·人工智能·安全·多账号管理·指纹浏览器·账户安全·运营合规
Fnetlink17 小时前
2026年企业安全组网供应商方案推荐
安全
如夏倾城8 小时前
基于格的密码学
安全·密码学·量子计算·可信计算技术
如夏倾城9 小时前
QUIC——HTTP/3 的唯一底层传输协议 及 0-RTT恢复
网络·网络协议·tcp/ip·安全·http
KCENN12 小时前
安全触边在电梯轿厢门防夹保护系统中的选型配置与长效维护要点
安全
Splashtop高性能远程控制软件13 小时前
微软2026年11月补丁星期二解析:1094个 CVE、Outlook 零日 CVE-2026-124194 与修复优先级
microsoft·网络安全·outlook·补丁管理·漏洞管理
小雉系统1 天前
BcoreOS安全通信架构:FsSession 抗算法后门安全设计
算法·安全·架构
Csvn1 天前
Nginx 配置语法与上下文:一次搞懂继承、变量与用 map 替掉 if
后端·nginx
布莱克6051 天前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型