网络安全03---Nginx 解析漏洞复现
目录
一、准备环境
二、实验开始
2.1上传压缩包并解压
2.2进入目录,开始制作镜像
2.3可能会受之前环境影响,删除即可
编辑 2.4制作成功结果
2.5我们的环境一个nginx一个php
2.6访问漏洞
2.7漏洞触发结果
2.8上传代码不存在漏洞
2.9补充:在nginx放通了解析php才会去解析
2.10看看这个漏洞图片吧
三、真正原因
五、如何防范:
一、准备环境
ubentu虚拟机,docker环境,vulhub-master环境包(资源已上传)
二、实验开始
2.1上传压缩包并解压
unzip vulhub-master.zip
2.2进入目录,开始制作镜像
/root/vulhub-master/nginx/nginx_parsing_vulnerability
docker-compose up -d

2.3可能会受之前环境影响,删除即可
可能80端口冲突,关闭nginx即可
docker rm -f $(docker ps -aq)
2.4制作成功结果

2.5我们的环境一个nginx一个php
docker ps -a

2.6访问漏洞
访问http://your-ip/uploadfiles/nginx.png和http://your-ip/uploadfiles/nginx.png/.php即可查看效果。

2.7漏洞触发结果
增加/.php后缀,被解析成PHP文件

2.8上传代码不存在漏洞


2.9补充:在nginx放通了解析php才会去解析

2.10看看这个漏洞图片吧

可以见得此图片中有个php的简单打印代码,打印php常数,说明我图片中添加php代码就可以以php执行,但是正常来说我的图片根本解析不了php代码,为什么会出现上面我们所说的漏洞呢?

三、真正原因
用户配置不当造成的漏洞,那好吧,看看用户配置
cd /root/vulhub-master/nginx/nginx_parsing_vulnerability/php-fpm
这个文件含义,你的后缀安全限制为空

因为我们php文件是从下往上找的,不管你的后缀.php正确与否,都没有,会往上找,找到图片,把图片当成php代码解析了

五、如何防范:
安全后缀添加个.php直接 不解析了---用户配置问题
php.ini中又有cgi.fix pathinfo这个参数,这个参数的意思为修复漏洞信息,把这个开启,它就不会往前找,但是用户如果关掉了,那么上面的漏洞自然也就执行了
完全人为的漏洞
相关文章:
网络安全03---Nginx 解析漏洞复现
目录 一、准备环境 二、实验开始 2.1上传压缩包并解压 2.2进入目录,开始制作镜像 2.3可能会受之前环境影响,删除即可 编辑 2.4制作成功结果 2.5我们的环境一个nginx一个php 2.6访问漏洞 2.7漏洞触发结果 2.8上传代码不存在漏洞 2.9补充&#…...
第十四届蓝桥杯C组题目 三国游戏
4965. 三国游戏 - AcWing题库 小蓝正在玩一款游戏。 游戏中魏蜀吴三个国家各自拥有一定数量的士兵 X,Y,Z(一开始可以认为都为 00)。 游戏有 n 个可能会发生的事件,每个事件之间相互独立且最多只会发生一次,当第 i个事件发生时会分…...
【LeetCode-435】无重叠区间(贪心)
题目链接 题目简介 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4…...
写读后感的时候,可以适当地引用书中的内容吗?
写读后感时,适当地引用书中的内容是可以的,这样可以更好地支持你的观点和感受,增强文章的可信度和说服力。 引用书中的内容可以帮助读者更好地理解你所讨论的主题和人物,同时也可以展示你对原著的深入理解和阅读能力。但是&#…...
RockChip DRM Display Driver
资料来源: 《Rockchip_DRM_Display_Driver_Development_Guide_V1.0.pdf》 《Rockchip_Developer_Guide_DRM_Display_Driver_CN.pdf》 一:DRM概述 DRM(Direct Rendering Manager)直接渲染管理,buffer分配,帧缓冲。对应userspace库位libdrm,libdrm库提供了一系列友好的…...
【数据库】GaussDB数据类型和简单DDL概述
GaussDB是一款华为公司开发的关系型数据库管理系统(RDBMS),提供了多种数据类型用于存储和处理不同类型的数据。以下是GaussDB常见的数据类型: 1、GaussDB常见的数据类型 1.1、数值型(Numeric Types)&…...
malloc/free和new/delete相关问题:
面试题: 1、两种方式的区别: (1)malloc需要强制类型转换,new不需要 (2)malloc需要计算空间大小,new不需要 例如:创建5个int类型的空间 int*p(int *)malloc(sizeof(i…...
设计一套扑克牌
约束和假设 这是一幅用于类似扑克和二十一点等游戏的通用扑克牌吗? 我们可以假设这副牌有52张(2-10,杰克,女王,国王,埃斯)和4种花色吗? 我们可以假设输入是有效的,还是需…...
ubuntu20.04 外接hdmi没有声音
pulseaudio -k 请尝试执行该命令...
Mybatis 拦截器注册方式
在MyBatis中注册拦截器可以通过以下三种方式: 1. XML配置文件方式 在Mybatis的核心配置文件(mybatis-config.xml)中的标签下定义拦截器,并指定实现类。 <configuration><!-- ...其他配置... --><plugins><…...
[嵌入式软件][启蒙篇][仿真平台] STM32F103实现SPI控制OLED屏幕
上一篇: [嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集 [嵌入式软件][启蒙篇][仿真平台]STM32F103实现定时器 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕 文章目…...
个体诊所电子处方系统设计,社区门诊处方开单管理系统软件教程
个体诊所电子处方系统设计,社区门诊处方开单管理系统软件教程 一、前言 以下软件程序操作教程以 佳易王诊所电子处方管理系统软件V17.3为例说明 如图,在基本信息设置里,可以设置处方配方模板,这样在开电子处方的时候可以一键导入…...
数据结构(1)--> 顺序表
定义: 顺序表存储定义: 把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构,顺序表功能的实现借助于数组,通过对数组进行封装,从而实现增删查改的功能,严格意义上来说(数组无法实现…...
排序算法经典模型: 梯度提升决策树(GBDT)的应用实战
目录 一、Boosting训练与预测 二、梯度增强的思想核心 三、如何构造弱学习器和加权平均的权重 四、损失函数 五、梯度增强决策树 六、GBDT生成新特征 主要思想 构造流程 七、梯度增强决策树以及在搜索的应用 7.1 GDBT模型调参 7.1.1 框架层面参数 n_estimators su…...
【揭秘】ForkJoinTask全面解析
内容摘要 ForkJoinTask的显著优点在于其高效的并行处理能力,它能够将复杂任务拆分成多个子任务,并利用多核处理器同时执行,从而显著提升计算性能,此外,ForkJoinTask还提供了简洁的API和强大的任务管理机制,…...
如何利用数据压缩提高高性能存储的效率?
在当前信息爆炸的时代,大数据存储和管理成为了各大企业和组织面临的重要挑战之一。高性能存储系统的效率对于数据处理和应用的性能至关重要。而数据压缩技术的应用可以在一定程度上提高高性能存储的效率。 数据压缩技术的作用 数据压缩是通过对数据进行编码和压缩…...
前端工程化之:webpack1-2(安装与使用)
一、webpack简介 webpack中文网 webpack 是基于模块化的打包(构建)工具,它把一切视为模块它通过一个开发时态的入口模块为起点,分析出所有的依赖关系,然后经过一系列的过程(压缩、合并),最终生成运行时态的文件。 webpack的特点&a…...
MySQL索引类型及数据结构【笔记】
1 索引类型 返回面试宝典 主键索引(PRIMARY):数据列不允许重复,不允许为NULL,一个表只能有一个主键。 唯一索引(UNIQUE):数据列不允许重复,允许为NULL,一个表允许多个列创建唯一索引…...
成熟的内外网数据交换方案,如何实现跨网传输?
网络迅速发展,我们可以从网络上查找到各式各样的信息,但是同时网络安全问题也随之严重。近几年,各种有关网络安全的新闻不断被报道,数据泄露给很多企业带来了严重打击,不仅是经济损失,严重者还会对企业的声…...
python11-Python的字符串之repr
有时候,我们需要将字符串与数值进行拼接,而 Python 不允许直接拼接数值和字符串,程序必须先将数值转换成字符串。 为了将数值转换成字符串,可以使用str0或repr()函数,例如如下代码。 # !/usr/bin/env python# -*- co…...
OpenClaw技能市场探索:GLM-4.7-Flash加持的10个实用插件
OpenClaw技能市场探索:GLM-4.7-Flash加持的10个实用插件 1. 为什么需要关注OpenClaw技能市场? 当我第一次接触OpenClaw时,最让我惊喜的不是它的基础功能,而是它丰富的技能市场生态。作为一个长期使用各类自动化工具的技术爱好者…...
Obsidian插件管理技巧:从零开始配置你的第二个知识库
Obsidian插件管理技巧:从零开始配置你的第二个知识库 当你已经熟悉了Obsidian的基础操作,并建立了第一个知识库后,很可能会想要创建第二个知识库来管理不同的项目或学习领域。但这时你会发现,新建的知识库并没有自动继承你精心配置…...
如何高效管理微信读书笔记:终极免费工具wereader完全指南
如何高效管理微信读书笔记:终极免费工具wereader完全指南 【免费下载链接】wereader 一个功能全面的微信读书笔记助手 wereader 项目地址: https://gitcode.com/gh_mirrors/we/wereader 微信读书助手wereader是一款专为微信读书用户设计的免费开源工具&#…...
建筑工地AI监控避坑指南:YOLOv11+PyQt5开发中的7个常见错误
建筑工地AI监控避坑指南:YOLOv11PyQt5开发中的7个常见错误 在建筑工地安全监控领域,AI技术的应用正从概念验证走向规模化落地。YOLOv11作为目标检测领域的新锐算法,配合PyQt5的灵活界面开发能力,确实能构建出高效的安全预警系统。…...
ComfyUI-TeaCache:基于时间步感知缓存的扩散模型推理加速技术实现1.5-3倍性能提升
ComfyUI-TeaCache:基于时间步感知缓存的扩散模型推理加速技术实现1.5-3倍性能提升 【免费下载链接】ComfyUI-TeaCache 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-TeaCache 在AI图像与视频生成领域,扩散模型的推理速度一直是制约创作…...
Bongo Cat功能选择指南:从需求定位到场景化配置
Bongo Cat功能选择指南:从需求定位到场景化配置 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作,每一次输入都充满趣味与活力! 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat Bongo Cat是一…...
避开这些坑!用MATLAB做QPSK调制解调仿真时,你的成形滤波和匹配滤波设置对了吗?
QPSK仿真中的成形滤波与匹配滤波陷阱:MATLAB实战避坑指南 在数字通信系统的设计与验证过程中,MATLAB仿真扮演着至关重要的角色。许多工程师和研究人员在QPSK调制解调仿真中,常常遇到性能不达预期或结果与理论不符的情况。本文将深入剖析成形滤…...
Claude Code 命令行参数实践指南
前言 很多人第一次打开 Claude Code,只会输入 claude,然后开始聊天。这当然可以,但就像开车只会踩油门一样——你根本没用上方向盘和变速箱。 命令行参数(CLI Flags)就是那些被忽视的"方向盘"。掌握它们&a…...
告别TeamViewer!用RustDesk自建服务器实现跨平台远程控制(Windows/Ubuntu客户端全配置)
告别商业远程控制软件:用RustDesk自建服务器全流程指南 远程控制软件已经成为现代工作场景中不可或缺的工具,无论是技术支持、远程办公还是跨设备协作,一个稳定高效的远程连接方案都能极大提升工作效率。然而,商业软件如TeamViewe…...
旧设备优化指南:iPhone 6s系统降级与性能提升全攻略
旧设备优化指南:iPhone 6s系统降级与性能提升全攻略 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit 当你的iP…...
