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

相关推荐
安当加密3 分钟前
SYP 密码管理器:基于 UI 自动化的 CS 代填如何做到“安全可用”?
安全·ui·自动化
想学后端的前端工程师5 分钟前
【前端安全防护实战指南:从XSS到CSRF全面防御】
前端·安全·xss
pwn蒸鱼1 小时前
buuctf中的ciscn_2019_es_2(栈迁移)
linux·安全
北龙云海1 小时前
全栈护航科研信息化:北龙云海驻场运维服务——为前沿探索提供稳定、安全的数字基座
运维·安全·运维服务·驻场运维
小李独爱秋1 小时前
计算机网络经典问题透视——搜索引擎的“两大门派”与“武林新秀”
服务器·网络·网络协议·tcp/ip·计算机网络·搜索引擎
介一安全1 小时前
【Frida Android】实战篇18:Frida检测与绕过——基于内核指令的攻防实战
android·网络安全·逆向·安全性测试·frida
weixin_440730501 小时前
Nginx、Apache和tomcat的简单了解。
nginx·tomcat·apache
bkspiderx2 小时前
用Nginx解决HTTP跨域问题:两种实用方案详解
nginx·http·跨域·http跨域
白帽子黑客罗哥2 小时前
举例说明在真实业务场景中,如何平衡安全防御方案与系统性能、用户体验的关系?
大数据·安全·ux
TAEHENGV2 小时前
隐私安全模块 Cordova 与 OpenHarmony 混合开发实战
安全