网络安全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.pnghttp://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这个参数,这个参数的意思为修复漏洞信息,把这个开启,它就不会往前找,但是用户如果关掉了,那么上面的漏洞自然也就执行了

完全人为的漏洞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/434643.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云手机哪一款好用?

随着海外市场的不断发展,云手机市场也呈现蓬勃的态势,众多云设备软件纷纷涌现。企业在选择云手机软件时,如何找到性能卓越的软件成为一项关键任务。在众多选择中,OgPhone云手机凭借其卓越的性能和独特功能脱颖而出。以下是OgPhone…

语义分割(3):损失函数解析

文章目录 1. 常见语义分割损失1.1 Cross Entropy1.2 dice Loss1.2.1 为什么使用Dice loss1.2.2 公式1.2.3 Dice loss 和 F1-score代码 1.3 focal loss1.3.1 公式:1.3.2 代码 2. 语义分割损失应用参考 语义分割任务实际上是一种像素层面上的分类,需要识别…

【HarmonyOS 4.0 应用开发实战】TypeScript 快速入门之环境配置

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

【计网·湖科大·思科】实验三 总线型以太网的特性、集线器和交换机的区别、交换机的自学习算法

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…

01 质数筛

一、根据概念进行枚举 1、判断质数的枚举算法 根据概念:除了1和它本身以外没有其他约数的数为质数 //输入一个数n&#xff0c;判断n是不是质数 #include<bits/stdc.h> using namespace std;int main(){int n;cin>>n;//根据概念:除了1和它本身以外没有其他约数的…

主成分分析(PCA)Python

实际问题研究中&#xff0c;常常遇到多变量问题&#xff0c;变量越多&#xff0c;问题往往越复杂&#xff0c;且各个变量之间往往有联系。于是&#xff0c;我们想到能不能用较少的新变量代替原本较多的旧变量&#xff0c;且使这些较少的新变量尽可能多地保留原来变量所反映的信…

代码随想录刷题笔记-Day12

1. 二叉树的递归遍历 144. 二叉树的前序遍历https://leetcode.cn/problems/binary-tree-preorder-traversal/94. 二叉树的中序遍历https://leetcode.cn/problems/binary-tree-inorder-traversal/145. 二叉树的后续遍历https://leetcode.cn/problems/binary-tree-postorder-tra…

第8章 异常

第8章 异常 学习目标 能够辨别程序中异常和错误 说出异常的分类 说出虚拟机处理异常的方式 列出常见的5个运行时异常 列出常见的5个编译时异常 能够使用try…catch关键字处理异常 能够使用throw抛出异常对象 能够使用throws关键字处理异常 能够自定义异常类 能够处理自定义异常…

小迪安全21WEB 攻防-JavaWeb 项目JWT 身份攻击组件安全访问控制

#知识点&#xff1a; 1、JavaWeb 常见安全及代码逻辑 2、目录遍历&身份验证&逻辑&JWT 3、访问控制&安全组件&越权&三方组件 Java&#xff1a;大部分都是第三方插件出现漏洞 webgoat的搭建&#xff1a;——java靶场 JDK版本要求&#xff1a;11.0…

[01 LinuxShell ] 清华大学电子系科协软件部2023暑期培训

清华大学电子系科协软件部2023暑期培训_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV11N4y187ZE/?spm_id_from333.1007.top_right_bar_window_custom_collection.content.click&vd_source3ef6540f8473c7367625a53b7b77fd66 本视频为清华大学电子系科协软件部2023…

领域驱动设计(Domain-Driven Design DDD)——通过重构找到深层次模型1

一、概述 重构就是在不改变软件功能的前提下重新设计它。开发人员无需在着手开发之前做出详细的设计决策&#xff0c;只需要在开发过程中不断小幅调整设计即可&#xff0c;这不但能够保证软件原有的功能不变&#xff0c;还可使整个设计更加灵活易懂。 我们面临的真正挑战是找到…

Vue3中的ref和shallowRef、reactive和shallowReactive

一&#xff1a;ref、reactive简介 ref和reactive是Vue3中定义响应式数据的一种方式。ref通常用来定义基础类型数据。reactive通常用来定义复杂类型数据。 二、shallowRef、shallowReactive简介 shallowRef和shallowReactive是Vue3中定义浅层次响应式数据的方式 三、Api使用对比…