中间件安全—Apache常见漏洞

news/2024/10/30 22:28:56/

中间件安全—Apache常见漏洞

  • 1.Apache常见漏洞
    • 1.1.Apache介绍
    • 1.2.Apache HTTPD 换行解析漏洞(CVE-2017-15715)
      • 1.2.1.漏洞介绍
      • 1.2.2.漏洞环境
        • 1.2.2.1.运行漏洞环境
        • 1.2.2.2.访问漏洞环境
      • 1.2.3.漏洞复现
        • 1.2.3.1.拦截
        • 1.2.3.2.添加换行
        • 1.2.3.3.访问文件
    • 1.3.Apache多后缀解析漏洞(apache_parsing_vulnerability)
      • 1.3.1.漏洞介绍
      • 1.3.2.漏洞环境
        • 1.3.2.1.运行漏洞环境
        • 1.3.2.2.访问漏洞环境
      • 1.3.3.漏洞复现
        • 1.3.3.1.拦截
        • 1.3.3.2.添加后缀
        • 1.3.3.3.访问文件
    • 1.4.Apache HTTP 路径穿越漏洞(CVE-2021-41773)
      • 1.4.1.漏洞介绍
      • 1.4.2.漏洞环境
        • 1.4.2.1.运行漏洞环境
        • 1.4.2.2.访问漏洞环境
      • 1.4.3.漏洞复现
        • 1.4.3.1.抓包
        • 1.4.3.2.读取任意文件
        • 1.4.3.3.执行任意命令
    • 1.5.Apache HTTP 路径穿越漏洞(CVE-2021-42013)
      • 1.5.1.漏洞介绍
      • 1.5.2.漏洞环境
        • 1.5.2.1.运行漏洞环境
        • 1.5.2.2.访问漏洞环境
      • 1.5.3.漏洞复现
        • 1.5.3.1.抓包
        • 1.5.3.2.读取任意文件
    • 1.6.Apache SSI 远程命令执行漏洞
      • 1.6.1.漏洞介绍
      • 1.6.2.漏洞环境
        • 1.6.2.1.运行漏洞环境
        • 1.6.2.2.访问漏洞环境
      • 1.6.3.漏洞复现
        • 1.6.3.1.编辑文件
        • 1.6.3.2.上传文件
        • 1.6.3.3.访问文件

1.Apache常见漏洞

1.1.Apache介绍

  简单介绍一下apache是什么,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将python等解释器编译到服务器中。

1.2.Apache HTTPD 换行解析漏洞(CVE-2017-15715)

1.2.1.漏洞介绍

  Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

1.2.2.漏洞环境

  这里采用Vulhub一键搭建漏洞测试靶场,来进行漏洞复现。

1.2.2.1.运行漏洞环境

docker-compose build
docker-compose up -d

在这里插入图片描述

1.2.2.2.访问漏洞环境

http://your-ip:8080

在这里插入图片描述

1.2.3.漏洞复现

1.2.3.1.拦截

  正常上传php文件就会出现上传失败。
在这里插入图片描述

1.2.3.2.添加换行

  在1.php后面插入一个\x0A(注意,不能是\x0D\x0A,只能是一个\x0A),不再拦截,这里只需要选中0d,右击选择insert byte…后,输入0a即可插入至里面,然后发送。
在这里插入图片描述

1.2.3.3.访问文件

  这里访问地址即可。

链接:http:ip地址:端口/文件名.php%0a

在这里插入图片描述

1.3.Apache多后缀解析漏洞(apache_parsing_vulnerability)

1.3.1.漏洞介绍

  apache httpd支持一个文件多个后缀,windows对于多后缀的识别是看最后一个“.”之后的后缀名。apache对于多后缀文件的识别是从后往前识别,最后一个后缀不能被识别时,会往前识别。

1.3.2.漏洞环境

1.3.2.1.运行漏洞环境

docker-compose up -d

在这里插入图片描述

1.3.2.2.访问漏洞环境

http://your-ip

在这里插入图片描述

1.3.3.漏洞复现

1.3.3.1.拦截

  由于设置了白名单,正常在上传php后缀文件后,会被拦截,无法正常进行上传。
在这里插入图片描述

1.3.3.2.添加后缀

  由于特性原因,我们可以在后面添加不认识的后缀,或者其它后缀均可。这里我添加.jpg,形成1.php.jpg文件。
在这里插入图片描述

1.3.3.3.访问文件

  通过返回的信息得到,我们是成功上传了我们的文件,并返回一个路径,我们在浏览器中访问一下文件,验证一下是否正常执行为php文件。

http://IP地址/uploadfiles/1.php.jpg

在这里插入图片描述

1.4.Apache HTTP 路径穿越漏洞(CVE-2021-41773)

1.4.1.漏洞介绍

  在其2.4.49版本中,引入了一个路径穿越漏洞,满足下面两个条件的Apache服务器将会受到影响:
  版本等于2.4.49
  穿越的目录允许被访问(默认情况下是不允许的)
  攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令。

1.4.2.漏洞环境

1.4.2.1.运行漏洞环境

docker-compose build
docker-compose up -d

在这里插入图片描述

1.4.2.2.访问漏洞环境

在这里插入代码片

http://your-ip:8080
在这里插入图片描述

1.4.3.漏洞复现

1.4.3.1.抓包

  首先这里先抓原始的包。
在这里插入图片描述

1.4.3.2.读取任意文件

  在GET处插入POC,用来读取任意文件,但是需要注意/icons必须是一个存在且可访问的目录。

POC:/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

在这里插入图片描述

1.4.3.3.执行任意命令

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

POC:/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh   最下面添加echo;id

在这里插入图片描述

1.5.Apache HTTP 路径穿越漏洞(CVE-2021-42013)

1.5.1.漏洞介绍

  Apache官方在2.4.50版本中对2.4.49版本中出现的目录穿越漏洞CVE-2021-41773进行了修复,但这个修复是不完整的,CVE-2021-42013是对补丁的绕过。
  攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令。
  这个漏洞可以影响Apache HTTP Server 2.4.49以及2.4.50两个版本。

1.5.2.漏洞环境

1.5.2.1.运行漏洞环境

docker-compose build
docker-compose up -d

在这里插入图片描述

1.5.2.2.访问漏洞环境

http://your-ip:8080

在这里插入图片描述

1.5.3.漏洞复现

  这里总体来说和CVE-2021-41773步骤都是一样的,只是将.%2e替换为.%%32%65,若使用原先的payload无法使用,那么就说明2.4.50进行了修复。

1.5.3.1.抓包

  首先这里先抓原始的包。
在这里插入图片描述

1.5.3.2.读取任意文件

  在GET处插入POC,用来读取任意文件,但是需要注意/icons必须是一个存在且可访问的目录。

POC:/icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd

在这里插入图片描述

1.6.Apache SSI 远程命令执行漏洞

1.6.1.漏洞介绍

  在测试任意文件上传漏洞的时候,目标服务端可能不允许上传php后缀的文件。如果目标服务器开启了SSI与CGI支持,我们可以上传一个shtml文件,并利用<!--#exec cmd="id" -->语法执行任意命令。

1.6.2.漏洞环境

1.6.2.1.运行漏洞环境

docker-compose up -d

在这里插入图片描述

1.6.2.2.访问漏洞环境

http://your-ip:8080

在这里插入图片描述

1.6.3.漏洞复现

1.6.3.1.编辑文件

  正常上传PHP文件是不允许的,我们可以上传一个shell.shtml文件,然后在文件中写入命令。

命令:<!--#exec cmd="ls" -->

1.6.3.2.上传文件

  这里我们将文件进行上传,可以看到是成功上传了。
在这里插入图片描述

1.6.3.3.访问文件

  可以看到成功显示目录下存在的文件。
在这里插入图片描述


http://www.ppmy.cn/news/26820.html

相关文章

前端的核心技术有哪些?

前端即网站前台部分&#xff0c;运行在PC端&#xff0c;移动端等浏览器上展现给用户浏览的网页。随着互联网技术的发展&#xff0c;HTML5&#xff0c;CSS3&#xff0c;前端框架的应用&#xff0c;跨平台响应式网页设计能够适应各种屏幕分辨率&#xff0c;合适的动效设计&#x…

JavaSE学习day9 集合(基础班结束)

1.ArrayList 集合和数组的优势对比&#xff1a; 长度可变 添加数据的时候不需要考虑索引&#xff0c;默认将数据添加到末尾 不能存基本数据类型。只能通过包装。 1.1ArrayList类概述 什么是集合 提供一种存储空间可变的存储模型&#xff0c;存储的数据容量可以发生改变 Ar…

【虚拟机】VirtualBox Host-Only + 主机网络共享配置

文章目录创建Host-Only虚拟机配置主机配置其它工作中经常会使用到虚拟机进行各种技术的试验&#xff0c;之前为了省事常用桥接模式&#xff0c;可是我经常变换办公地点&#xff0c;每个办公地点的局域网网段并不一样&#xff0c;所以我采取了仅主机模式网络共享这种方式&#x…

微信小程序阻止页面返回(包滑动、自动返回键)

这个场景还是挺有意思的&#xff0c;比如某多多&#xff0c;只要你点左上角的返回 好家伙&#xff0c;满满又 花不了 的优惠券就来了&#xff0c;让你拥有一种消费最划算的感觉。 如果你的场景比较简单&#xff0c;只是对左上角的返回进行监听&#xff0c;只需要关闭自带的导航…

【Linux】常用命令大全(二)

目录 4. Linux常用命令 4.1 Linux命令初体验 4.2 文件目录操作命令 4.3 拷贝移动命令 4.4 打包压缩命令 4.5 文本编辑命令 4.6 查找命令 4. Linux常用命令 4.1 Linux命令初体验 4.1.1 常用命令演示 在这一部分中&#xff0c;我们主要介绍几个常用的命令&#xff0c…

零基础 Ubuntu 20.04.01 下搭建51单片机开发环境[开源编译器SDCC]

原创首发于CSDN&#xff0c;转载请注明出处&#xff0c;谢谢&#xff01; 文章目录为何会在Linux下开发单片机个人系统环境与所用开发板安装开源编译器 sdccSTC MCU ISP 闪存工具 stcgal 的安装单片机代码的编译与测试&#xff5c;编写主代码 main.c&#xff5c;使用 sdcc 编译…

新C++(9):谈谈,翻转那些事儿

"相信羁绊&#xff0c;相信微光&#xff0c;相信一切无常。"一、AVL树翻转那些事儿(1)什么是AVL树&#xff1f;在计算机科学中&#xff0c;AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1&#xff0c;所以它也被称为高度平衡树。…

Teradata退出中国,您可以相信中国数据库!

继Adobe、Tableau、Salesforce之后&#xff0c;2023年2月15日&#xff0c;数仓软件巨头Teradata宣布将逐步结束在中国的直接运营。数仓界的“黄埔军校”仓皇撤出中国市场给出的理由非常含蓄&#xff1a;Teradata对中国当前和未来商业环境的慎重评估&#xff0c;我们做了一个艰难…