当前位置: 首页 > news >正文

【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.复现过程

首先进入该目录文件夹中
image.png
使用docker开启靶场环境

查看靶场端口开放情况
image.png
访问靶场:192.168.187.135:80
image.png
上传一个图片
image.png
点击提交,并使用Burp抓取数据包,在图片内容的最后加上php代码
image.png
点击发送
image.png
使用上传的路径进行访问
image.png
在url后面再加上/.php,进行访问,图片被解析为php代码
image.png

http://www.lryc.cn/news/488041.html

相关文章:

  • 网络协议之邮件协议(SMTP、POP3与IMAP)
  • python学习笔记(3)运算符
  • _FYAW智能显示控制仪表的简单使用_串口通信
  • 激光雷达定位初始化的另外一个方案 通过键盘按键移动当前位姿 (附python代码)
  • 从0-1逐步搭建一个前端脚手架工具并发布到npm
  • 河道水位流量一体化自动监测系统:航运安全的护航使者
  • 维护在线重做日志
  • ASCB1系列APP操控末端回路智能微断 物联网断路器 远程控制开关 学校、工厂、农场、商业大楼等可用
  • Python入门(10)--面向对象进阶
  • Makefile 之 自动化变量
  • 鸿蒙开发:ForEach中为什么键值生成函数很重要
  • 沃丰科技智能外呼机器人:超越人工,重塑外呼体验
  • 百度飞浆:paddle 线性回归模型
  • 【JavaSE】【网络编程】UDP数据报套接字编程
  • 45.坑王驾到第九期:Mac安装typescript后tsc命令无效的问题
  • 20241120-Milvus向量数据库快速体验
  • 【Golang】——Gin 框架中间件详解:从基础到实战
  • 量子计算来袭:如何保护未来的数字世界
  • VMware虚拟机(Ubuntu或centOS)共享宿主机网络资源
  • 光伏电站仿真系统的作用
  • Golang文件操作
  • 爬虫开发工具与环境搭建——使用Postman和浏览器开发者工具
  • React(二)
  • 同步原语(Synchronization Primitives)
  • SpringBoot服务多环境配置
  • STM32单片机CAN总线汽车线路通断检测-分享
  • 【环境搭建】使用IDEA远程调试Docker中的Java Web
  • 贴代码框架PasteForm特性介绍之select,selects,lselect和reload
  • STM32G4的数模转换器(DAC)的应用
  • SpringMVC跨线程获取requests请求对象(子线程共享servletRequestAttributes)和跨线程获取token信息