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

相关推荐
苹果醋37 分钟前
Redis | 第3章 对象《Redis设计与实现》
java·运维·spring boot·mysql·nginx
千羽星弦11 分钟前
SELinux 的端口号权限以及使用 semanage 工具添加权限
linux·运维·安全
假客套38 分钟前
vulfocus在线靶场:CVE_2019_16662 速通手册
网络安全·web渗透·vulfocus在线靶场
y0ungsheep41 分钟前
[第五空间 2021]pklovecloud 详细题解
web安全·网络安全·php
儒道易行44 分钟前
【Pikachu】SSRF(Server-Side Request Forgery)服务器端请求伪造实战
网络安全
九尾w1 小时前
phpMyAdmin/PHP反序列化/sqli-labs/upload/pikachu/DVWA--靶场搭建--超详细教程!!!
网络安全·php
架构师Wu老七1 小时前
【软考】系统架构设计师-信息安全技术基础
网络·安全·web安全·软考·系统架构设计师
小镇敲码人2 小时前
【计算机网络实验】之静态路由配置
网络·计算机网络·智能路由器
岛屿旅人3 小时前
美国人工智能国家安全备忘录核心解读(下)
网络·人工智能·安全·web安全·网络安全
小宇python4 小时前
操作系统安全入门:渗透测试基础与实践
安全