护网HW面试—apacheiisnginx中间件解析漏洞篇

参考:Apache/IIS/Nginx中间件解析漏洞_分别说出iis、apache、nginx解析漏洞原理-CSDN博客

一、apache

1、Apache HTTPD 换行解析漏洞

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。

其2.4.0~2.4.29版本中存在一个解析漏洞。

在解析PHP时,1.php\x0A将被按照PHP后缀进行解析(修改16进制编码为0a),导致绕过一些服务器的安全策略。

2、Apache HTTPD 多后缀解析漏洞

Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令,对于Apache来说,它认为一个文件可以有多个后缀,就像:test.txt.png.jpg,但是放在windows大多数操作系统眼里,它认为最后一个“.”后的“jpg”为后缀,Apache解析文件的规则是从右到左开始判断,如果后缀名为Apache不认识不可解析的文件时,则再往左判断,比如/test.php.owf.rar,".owf"和".rar"这种后缀的Apache不可直接解析,Apache就会把/test.php.owf.rar解析成它所认知的,也就是php文件

漏洞形式:www.xxx.com/test.php.pzzzp

其余配置文件导致漏洞(运维人员修改或版本未升级)

(1)如果在apache的conf里有这样一行配置Addhandler php5-script.php,这时只需文件名里面包含.php即使文件名为test2.php.jpg也会以php来执行

(2)如果在apache的conf里有这样一行配置AddType application/x-httpd-php.jpg,即使扩展名为jpg,一样以php方法执行

下面不是解析漏洞但是也一起写上了

3、Apache SSI 远程命令执行漏洞

在测试任意文件上传漏洞的时候,目标服务端可能不允许上传php后缀的文件。如果目标服务器开启了SSI与CGI支持,我们可以上传一个shtml文件,并利用

  中间这个id就是执行任意命令的地方,将这个内容保存到.shtml然后访问就是执行了这个命令的结果

4、Apache HTTP 路径穿越漏洞——CVE-2021-41773

在其2.4.49版本中,引入了一个路径穿越漏洞,满足下面两个条件的Apache服务器将会受到影响:

  • 版本等于2.4.49
  • 穿越的目录允许被访问(默认情况下是不允许的)

攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令

5、Apache HTTP 路径穿越漏洞——CVE-2021-42013

Apache HTTP 服务器项目旨在为包括 UNIX 和 Windows 在内的现代操作系统开发和维护开源 HTTP 服务器。

CVE-2021-42013 是一个漏洞,由 CVE-2021-41773 修复不完整导致,攻击者可以使用路径遍历攻击将 URL 映射到类别名指令配置的目录之外的文件。

此漏洞影响 Apache HTTP Server 2.4.49 和 2.4.50,而不是早期版本。

服务端开启了cgi或cgid这两个mod的情况下,这个路径穿越漏洞将可以执行任意命令:

6、Apache HTTP SSRF漏洞——CVE-2021-40438

Apache HTTP Server是Apache基金会开源的一款流行的HTTP服务器。在其2.4.48及以前的版本中,mod_proxy模块存在一处逻辑错误导致攻击者可以控制反向代理服务器的地址,进而导致SSRF漏洞。

二、IIS

1、目录解析(6.0)

解析漏洞只能解析asp文件,而不能解析aspx文件

形式:www.xxx.com/xx.asp/xx.jpg

原理:服务器会默认把asp,asa目录下的文件都解析成asp文件

例如创建一个文件夹,将文件夹重命名为1.asp,那么在此文件夹内创建一个一句话木马,会被当成asp解析,假设攻击者可以控制上传文件夹路径,即可拿shell

2、文件解析

形式:www.xxx.com/xx.asp;.jpg

原理:服务器默认不解析;后面的内容,因此xx.asp;.jsp会解析成asp文件

解析文件类型(IIS6.0 默认的可执行文件除了asp)

xxx.asa

xxx.cer

xxx.cdx

3、7/7.5解析漏洞

IIS7/7.5在Fast-CGI运行模式下,在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件(url访问路径)。

三、nginx

nginx默认是以CGI的方式支持PHP解析的,普遍的做法是在Nginx配置文件中通过正则匹配设置SCRIPT_FILENAME。当访问www.xxx.com/phpinfo.jpg/1.php这个链接时,$fastcgi_script_name会被设置为"phpinfo.jpg/1.php",然后构造SCRIPT_FILENAME传递给PHP CGI,但是PHP为什么会接受这样的参数,并且将phpinfo.jpg作为PHP文件解析呢?这就要说到fix_pathinfo选项了,如果开起这个选项(该值默认为1,表示开启)

漏洞主要形式

www.xxx.com/Upload/image/1.jpg/1.php

www.xxx.com/Upload/image/1.jpg%00.php

www.xxx.com/Upload/image/1.jpg/%20\1.php(CVE-2013-4547)

或上传一个名字为test.jpg,内容如下:

');?>

然后访问/test.jpg/.php,在这个目录下就会生成一句话木马shell.php

和iis的7.5版本的漏洞相似

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

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

相关文章

永磁同步电机控制算法--基于 SVM 的无磁链环 DTC

永磁同步电机无磁链环 DTC 通过控制定子磁链交轴分量来直接控制转矩,不再要求控制磁链幅值恒定,省去了传统 DTC 中的磁链环,不仅转矩响应更快,有效抑制了转矩脉动,而且提高了电机功率因数。但无磁链环 DTC 方案仍采用传…

TCPDump协议分析工具

TCPDump协议分析工具 TCPDump是一个强大的命令行工具,用于捕获和分析网络数据包。它能够实时监控和记录网络流量,帮助网络管理员和安全专家排查网络问题、分析流量和检测网络攻击。以下是TCPDump的详细介绍,包括其安装、基本使用、过滤规则和…

YOWOv2(yowov2)动作识别+Fastreid身份识别 详细安装与实现

首先yowov2是一款简单且实时的时空动作检测方案,fastreid是行人重识别(身份识别) yowov2介绍链接直达fastreid链接直达为时空动作检测任务设计实时框架仍然是一个挑战。YOWOv2 提出了一种新颖的实时动作检测框架,利用三维骨干和二…

Python|OpenCV-实现人物的姿态识别检测以及实时计数(18)

前言 本文是该专栏的第20篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 本文将基于OpenCV以及MediaPipe,来实现视频与摄像头中的人物,进行仰卧起坐的动态检测以及实时计数(本文进行人物的姿态识别,仅以人物的仰卧起坐的动态动作为例)。 具体细节部分以及完…

【Js】导出 HTML 为 Word 文档

在 Web 开发中,有时我们希望用户能够将网页上的 HTML 内容保存为 Word 文档,以便更方便地分享和打印。 html样式 word文档 工具准备 1、 html-docx-js - npm html-docx-js是一个 JavaScript 库,用于将 HTML 内容转换为 Word 文档的格式。它…

在Linux系统实现瑞芯微RK3588部署rknntoolkit2进行模型转换

一、首先要先安装一个虚拟的环境 安装Miniconda包 Miniconda的官网链接:Minidonda官网 下载好放在要操作的linux系统,我用的是远程服务器的linux系统,我放在whl这个文件夹里面,这个文件夹是我自己创建的 运行安装 安装的操作都是yes就可以了 检查是否安装成功,输入下面…

【CEEMDAN-VMD-CNN-LSTM】双重分解+卷积神经网络+长短期记忆神经网络多变量回归预测,多变量输入模型

双重分解(Dual Decomposition)、卷积神经网络(Convolutional Neural Network,CNN)和长短期记忆神经网络(Long Short-Term Memory,LSTM)结合的多变量回归预测需要详细的实现和数据情况…

【香菇带你学Linux】Linux环境下gcc编译安装【建议收藏】

文章目录 0. 前言1. 安装前准备工作1.1 创建weihu用户1.2 安装依赖包1.2.1 安装 GMP1.2.2 安装MPFR1.2.3 安装MPC 2. gcc10.0.1版本安装3. 报错解决3. 1. wget下载报错 4. 参考文档 0. 前言 gcc(GNU Compiler Collection)是GNU项目的一部分,…

在unity的ECS框架中SystemAPI.Time.DeltaTime的值如何确定

在Unity的ECS(Entity Component System)框架中,SystemAPI.Time.DeltaTime 是一个用于获取上一帧所花费时间的值。这个值是通过Unity的 Time.deltaTime 来确定的,但在ECS框架中,它被封装在 SystemAPI.Time 命名空间下&a…

埋点系统如何统计用户的平均停留时长?

Hello,大家好,欢迎使用Webfunny前端监控和埋点系统。 今天,我们将介绍webfunny的埋点系统如何统计用户的平均停留时长 一、页面beforeLeave事件 当你页面离开的时候,会触发一个心跳检测,但是这个可能不是100%触发&am…

C# Static的一些理解

静态类 一、静态类   静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化…

各向异性含水层中地下水三维流基本微分方程的推导(二)

各向异性含水层中地下水三维流基本微分方程的推导 参考文献: [1] 刘欣怡,付小莉.论连续性方程的推导及几种形式转换的方法[J].力学与实践,2023,45(02):469-474. 书接上回: 我们能得到三个方向的流入流出平衡方程: ∂ ρ u x ∂ x d x d y d…

Linux 下 redis 集群部署

目录 1. redis下载 2. 环境准备 3. redis部署 3.1 修改系统配置文件 3.2 开放端口 3.3 安装 redis 3.4 验证 本文将以三台服务器为例,介绍在 linux 系统下redis的部署方式。 1. redis下载 下载地址:Index of /releases/ 选择需要的介质下载&am…

MUX-VLAN基本概述

1)技术背景: 在企业网络中,各个部门之间网络需要相互独立,通常使用VLAN技术可以实现这一要求。如果企业规模很大,且拥有大量的合作伙伴,要求各个合作伙伴之间能够访问公司服务器,但是不能相互访…

【常见开发问题】阿里云无法登录的问题

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【Python 项目】类鸟群:仿真鸟群

类鸟群:仿真鸟群 仔细观察一群鸟或一群鱼,你会发现,虽然群体由个体生物组成,但该群体作为一个整体似乎有它自己的生命。鸟群中的鸟在移动、飞越和绕过障碍物时,彼此之间相互定位。受到打扰或惊吓时会破坏编队&#xf…

35 解决单条链路故障问题-华三链路聚合

InLoopBack接口是一种虚拟接口。InLoopBack接口由系统自动创建,用户不能进行配置和删除,但是可以显示,其物理层和链路层协议永远处于up状态。InLoopBack接口主要用于配合实现报文的路由和转发,任何送到InLoopBack接口的IP报文都会…

【MySQL 进阶】MySQL 程序 -- 详解

一、MySQL 程序简介 MySQL 安装完成通常会包含如下程序: 1、Linux 系统 程序⼀般在 /usr/bin 目录下,可以通过命令查看: 2、Windows系统 目录:你的安装路径\MySQL Server 8.0\bin,可以通过命令查看: 可…

树莓派PICO使用INA226测量电流和总线电压(2)

上一篇文章里,我们讲了如何设置配置寄存器(0x01),在测量电流之前,还需要设置校准寄存器(0x05),校准寄存器非常关键,如果不设置这个寄存器,INA226是不会工作的…

搜索引擎中的相关性模型

一、什么是相关性模型? 相关性模型主要关注的是query和doc的相关性。例如给定query,和1000个doc,找到哪个doc是好query最相关的。 二、为什么需要相关性模型? 熟悉es的应该都熟悉BM25相关性算法。它是一个很简单的相关性算法。我…