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

相关推荐
IT小白杨14 分钟前
TikTok多账号运营体系安全运营攻略:移动端优先架构下的环境隔离技术解析
大数据·经验分享·tcp/ip·安全·架构·指纹浏览器
爱签AI电子合同27 分钟前
电子合同安全怎么测?加密与权限审计维度专项测评
安全
山东科恩光电35 分钟前
如何有效安装安全地毯以保障操作人员安全?
安全
jimmyleeee1 小时前
大模型安全之十:LLM无界消耗(Unbounded Consumption)
人工智能·安全
广东帝工智能安防1 小时前
景区水域安全预警方案:BCAS架构在旅游场景的适配与落地
人工智能·安全·三维激光雷达·景区安全·雷视融合
持敬chijing1 小时前
CentOS 从零搭建 LAMP 环境完整实战指南
linux·运维·web安全·网络安全·centos
xixiaoyunya1 小时前
异地备份保管:从概念到落地的完整技术路径
网络·安全
阿标在干嘛1 小时前
Nginx一个配置错误,流量损失30%!这是我们的完整排查记录
运维·nginx
泡海椒2 小时前
生产环境安全配置:JQuickJavaInvocationGuard自定义防护规则实战
开发语言·python·安全
志栋智能2 小时前
超自动化安全的变更与配置安全管理
数据库·安全·自动化