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

相关推荐
AI分享猿7 小时前
雷池 WAF 免费版实测:企业用 Apache 搭环境,护住跨境电商平台
web安全·github·apache
金士镧(厦门)新材料有限公司8 小时前
如何让PVC制品更安全?稀土抑烟剂助力安全防护
科技·安全·全文检索
JZZC28 小时前
29. HTTP
计算机网络·http·ensp
qq_316837759 小时前
初步压测的 nginx反向代理 到 Spring Cloud网关 到 Spring Cloud微服务的网络参考配置
nginx·spring cloud·微服务
SakitamaX11 小时前
nginx
运维·nginx
介一安全12 小时前
【Frida Android】实战篇3:基于 OkHttp 库的 Hook 抓包
android·okhttp·网络安全·frida
云飞云共享云桌面12 小时前
三维设计办公资源如何共享集中和安全管控?
运维·服务器·数据库·安全·自动化·制造
EkihzniY12 小时前
配合式活体检测:让身份核验安全又便捷
安全
熙客13 小时前
使用springsecurity+mybatis+mysql是如何实现JWT登陆
安全·安全架构
TH888614 小时前
水陆安全监测仪:水域陆域的“安全哨兵”
安全