中间件安全:Nginx 解析漏洞测试.

中间件安全:Nginx 解析漏洞测试.

Nginx 是一个高性能的 HTTP和 反向代理服务器,Nginx 解析漏洞是一个由于配置不当导致的安全问题,它不依赖于Nginx或PHP的特定版本,而是由于用户配置错误造成的。这个漏洞允许攻击者上传看似无害的文件,例如图片格式的文件,但实际上这些文件中包含了PHP代码。当这些文件被请求时,由于配置错误,Nginx会将这些文件作为PHP文件执行,从而可能允许攻击者执行任意代码


目录:

中间件安全:Nginx 解析漏洞测试.

漏洞的危害:

靶场搭建:

(1)切换到环境目录.

(2)开启环境.

(3)直接访问目标主机的 IP 地址就行.

Nginx 解析漏洞测试:

(1)如果我上传一个 PHP 文件进去,他会显示请上传一个正常图片文件.

(2)我们进行抓包,把修改文件后缀名png

(3)访问我们上传的文件是否存在.

提高控制权,上传 webshell 

(1)写一个 Webshell 的连接.

(2)上传进行抓包,修改文件后缀名png

(3)访问我们上传的文件是否存在.

(4)测试是否存在 Nginx 解析漏洞,在图片后面的 URL 中添加:/.php

(5)使用连接工具进行连接上传的 Webshell 拿到网站控制权.

防御措施:

(1)使用规范化、模板化的配置文件,并确保它们经过安全测试。

(2)在系统上线前对敏感配置文件进行检查。

(3)将 php.ini 文件中的 cgi.fix_pathinfo 的值设为 0


漏洞的危害:

(1)攻击者可以绕过文件上传的检测,上传恶意文件。

(2)攻击者可以利用该漏洞执行系统命令,窃取或篡改数据。

(3)攻击者可能在服务器上留下后门,进一步控制服务器或内网。


靶场搭建:

环境搭建:Web安全:iwebsec || vulhub 靶场搭建.


(1)切换到环境目录.
vulhub/nginx/nginx_parsing_vulnerability


(2)开启环境.
sudo docker-compose up -d


(3)直接访问目标主机的 IP 地址就行.


Nginx 解析漏洞测试:

(1)如果我上传一个 PHP 文件进去,他会显示请上传一个正常图片文件.


(2)我们进行抓包,把修改文件后缀名png,Content-Type 类型为 image/png,最后在文件内容的头部添加 GIF89a 


(3)访问我们上传的文件是否存在.


(4)测试是否存在 Nginx 解析漏洞,在图片后面的 URL 中添加:/.php


提高控制权,上传 webshell 

(1)写一个 Webshell 的连接.
<?php                                //一句话木马程序@eval($_POST['bgxg']);
?>

(2)上传进行抓包,修改文件后缀名png,Content-Type 类型为 image/png,最后在文件内容的头部添加 GIF89a


(3)访问我们上传的文件是否存在.


(4)测试是否存在 Nginx 解析漏洞,在图片后面的 URL 中添加:/.php


(5)使用连接工具进行连接上传的 Webshell 拿到网站控制权.


防御措施:

(1)使用规范化、模板化的配置文件,并确保它们经过安全测试。
(2)在系统上线前对敏感配置文件进行检查。
(3)将 php.ini 文件中的 cgi.fix_pathinfo 的值设为 0

    

    

    

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

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

相关文章

git的配置使用

第三周 Tursday 早 git日志的安装使用 [rootweb ~]# yum -y install git.x86_64 //安装软件包 [rootweb ~]# rpm -ql git //查看git的包 ​ [rootweb ~]# mkdir /yy000 //创建新目录 [rootweb ~]# cd /yy000/ [rootweb yy000]# git init //将当前目录做为仓库…

ubuntu 查找文件find

find -name xxx 查找当前路径下名字为xxx的文件 find . -name xxx 查找当前路径下名字为 train_logs的文件 find . -name train_logs 具体说明 【Ubuntu】find命令_ubuntu find命令-CSDN博客 其中&#xff0c;路径 指定要搜索的目录路径&#xff0c;而 表达式 用于指定匹配条…

PHP进阶-CentOS7部署LNMP服务架构的项目

在开发和部署Web应用时&#xff0c;LNMP&#xff08;Linux、Nginx、MySQL、PHP&#xff09;的组合是非常常见的。这篇博客将介绍如何通过一个简单的脚本&#xff0c;在CentOS 7上部署LNMP&#xff0c;并将PHP项目自动部署到服务器上。这不仅可以节省大量的时间&#xff0c;还能…

Wi-Fi、WLAN、Bluetooth、zigbee、蜂窝网络、4g5g、MQTT

为什么打开手机的WiFi连接&#xff0c;显示的是WLAN&#xff1f; 分清Wi-Fi、WLAN、Bluetooth、zigbee、蜂窝网络、4g5g、MQTT这些概念. 一、WLAN、WIFI、WAPI WLAN是利用无线通信技术在局部区域内构建的网络&#xff0c;家庭/办公室里的网络就是一个WLAN&#xff0c;WLAN是一…

【城市数据集】世界城市数据库和访问门户工具WUDAPT

世界城市数据库和访问门户工具WUDAPT WUDAPTLCZ分类具体步骤参考 在 城市气候研究中&#xff0c;用于描述城市特征的数据集一般采用基于类别的传统方法&#xff0c;将城市地区分为数量有限的类型&#xff0c;从而导致精确度下降。越来越多的新数据集以亚米微尺分辨率描述城市的…

SolidEdge二次开发(C#)-环境配置

文章目录 1、前言2、环境配置2.1 安装Solidworks20242.2 安装VS20222.3 查看Com组件2.3.1 在VS2022中创建一个wpf工程项目2.3.2 添加com组件 1、前言 SolidEdge是Siemens PLM Software公司旗下的三维CAD软件&#xff0c;采用Siemens PLM Software公司自己拥有专利的Parasolid作…

JAVA零基础学习3(Scanner类,字符串,StringBuilder,StringJoinder,ArrayList成员方法)

JAVA零基础学习&#xff13; Scanner类输入示例代码代码解释完整代码1. 读取字符串2. 读取整数3. 读取浮点数4. 读取布尔值5. 读取单个单词6. 读取长整型数7. 读取短整型数8. 读取字节数注意事项总结 API 字符串解释示例解释解决方法示例&#xff1a;使用 StringBuilder String…

Java代码基础算法练习-求一个3×3矩阵对角线元素之和-2024.07.27

任务描述&#xff1a; 求一个33矩阵对角线元素之和&#xff0c;包括主对角线、副对角线元素和 &#xff08;提示&#xff1a;主对角线&#xff1a; ij,副对角线&#xff1a;ij2&#xff09;。 解决思路&#xff1a; 定义 3*3 的二维数组&#xff0c;再输入9个数字&#xff0c…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十四)-租云服务器及配环境、docker基本命令

主要介绍了租云服务器和docker配置、基本命令&#xff01;&#xff01;&#xff01; 文章目录 前言 一、云平台 二、租云服务器及安装docker 1.阿里云 2.安装docker 三、docker命令 将当前用户添加到docker用户组 镜像&#xff08;images&#xff09; 容器(container) 四、实战…

linux编写shell脚本字段部署redis6.x版本,docker使用shell脚本一键自动部署redis

1.先创建部署脚本 touch redis.sh2.粘贴部署脚本内容到redis.sh echo "在线安装redis开始...." docker pull redis:6.2.1 sudo mkdir -p /home/admin/redis/{data,conf} sudo touch /home/admin/redis/conf/redis.conf echo " #注释掉这部分&#xff0c;这是限…

一文总结代理:代理模式、代理服务器

概述 代理在计算机编程领域&#xff0c;是一个很通用的概念&#xff0c;包括&#xff1a;代理设计模式&#xff0c;代理服务器等。 代理类持有具体实现类的实例&#xff0c;将在代理类上的操作转化为实例上方法的调用。为某个对象提供一个代理&#xff0c;以控制对这个对象的…

基于FPGA的数字信号处理(20)--半加器和全减器

1、前言 既然有半加器和全加器&#xff0c;那自然也有半减器和全减器了。尽管在电路中减法的实现基本都是 补码 加法 的形式&#xff0c;但是正所谓技多不压身&#xff0c;了解一下半减器和全减器还是有一定作用的&#xff0c;至少能扩宽知识面嘛。 2、半减器 最简单的减法器叫…

RESNET

ResNet 文章目录 ResNet主要内容开发背景解决两个问题&#xff1a;1. 梯度消失和梯度爆炸2. 退化问题: 解决方法1. BN&#xff08;Batch Normalization&#xff09;层2. 残差块 Pytorch实现BasicBlockBottleNeckResNet 主要内容 开发背景 残差神经网络(ResNet)是由微软研究院…

LLM大模型:十大人工智能大模型技术介绍

十大人工智能大模型技术的简介&#xff1a; 深度学习模型 深度学习是人工智能领域中一种重要的机器学习技术&#xff0c;通过构建深度神经网络来模拟人脑的认知过程。深度学习模型能够自动提取数据的特征&#xff0c;并在海量数据中进行学习和优化&#xff0c;从而在语音识别…

搭建规范化的vue2项目

项目包含的库 Vue2VuexRouterEslintPrettier 环境 vue&#xff1a;2.6.14 eslint&#xff1a;7.32.0 prettier&#xff1a;2.4.1 eslint-plugin-prettier&#xff1a;4.0.0 eslint-plugin-vue&#xff1a;8.0.3 vue/cli&#xff1a;5.0.8 步骤 全局安装cli工具 npm in…

CAE仿真软件怎样下载和安装?

CAE仿真软件是一类专业工程软件&#xff0c;通过数值计算和仿真技术&#xff0c;帮助工程师和设计师在计算机上模拟和分析各种工程问题&#xff0c;如结构强度、热传导、流体力学等&#xff0c;从而优化产品设计、减少试验成本&#xff0c;提高产品性能和质量。HyperWorks是常见…

快手文生图模型-Kolors快速上手

Kolors是什么 可图(Kolors)&#xff1a;用于真实感文本到图像合成的扩散模型的有效训练 可图&#xff0c;是快手开源的一个文生图模型&#xff0c;架构上使用了chatglm&#xff0c;比普通的sd模型在中文理解上要强大很多&#xff0c;以往sd模型的提示词理解能力往往只有两种 …

二进制部署k8s集群之cni网络插件flannel和calico工作原理

3、部署 CNI 网络组件 在 master01 节点上操作 上传flannel-v0.21.5.zip并解压 unzip flannel-v0.21.5.zipscp flannel*.tar 192.168.80.20:/opt/k8s/ scp flannel*.tar 192.168.80.30:/opt/k8s/ node两个节点操作 cd /opt/k8s/ docker load -i flannel.tar docker load -i …

nginx代理设置时能获取到源IP地址的方法

nginx通过http_x_forwarded_for限制来访IP示例_ngnix 根据header的x-forwarded-for限制接入-CSDN博客 名称ip客户端地址10.0.23.90nginx服务器地址110.0.202.48:18888&#xff0c;代理到10.0.204.82:8888nginx服务器地址210.0.204.82:8888&#xff0c;代理到10.0.204.82:8887后…

自写ApiTools工具,功能参考Postman和ApiPost

近日在使用ApiPost的时候&#xff0c;发现新版本8和7不兼容&#xff0c;也就是说8不支持离线操作&#xff0c;而7可以。 我想说&#xff0c;我就是因为不想登录使用才从Postman换到ApiPost的。 众所周知&#xff0c;postman时国外软件&#xff0c;登录经常性抽风&#xff0c;…