【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代码

相关推荐
校园安全大脑平台4 小时前
校园安全平台过等保二级,开发阶段要注意什么
开发语言·安全·php
我不会起名字3224 小时前
网关超时比服务短:一次 499 的完整归因
网关·nginx·排查·499
2601_967212724 小时前
柔性取电轨道技术结构、场景参数与工程实施要点
大数据·经验分享·安全
愤怒火龙果4 小时前
蓝队笔记整理04 安全设备、内网处置与云上防护
笔记·网络安全
Linux运维技术栈5 小时前
近期 PHP 高危安全风险排查与多环境升级实操
开发语言·安全·php
迪康软件zz5 小时前
从 PHP 高危漏洞看纵深防御:资产盘点、补丁管理与端点防护实践
运维·安全·自动化运维
Fnetlink15 小时前
Fnet 云网安 261023
运维·开发语言·网络·人工智能·安全·web安全·php
梦帮科技6 小时前
脑机接口(BCI)与神经系统安全:EEG 神经电信号欺骗注入、神经闭环解码算法与生物黑客反制
算法·安全
网易易盾6 小时前
AI Agent 的安全边界在哪里?四条边界与上线前后的防护落地
人工智能·安全
其实防守也摸鱼7 小时前
网络安全法竞赛知识总结与题库
前端·网络·人工智能·安全·web安全·重构·nc