• Apache HTTPD 漏洞复现


    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
    
    • 1

    image-20230907161743094

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

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

    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
    
    • 1

    image-20230907164700755

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

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

    image-20230907164937559

    4.4 修复建议

    1. 更新 Apache HTTP Server 版本: 确保您的 Apache HTTP Server 版本已经升级到最新的安全版本。Apache 团队已发布了修复此漏洞的补丁,建议尽快更新至官方发布的修复版本。
    2. 配置文件和目录权限: 检查您的服务器上敏感文件的权限配置。确保只有必要的用户和组才能访问这些文件,并设置适当的权限以防止未授权的访问。
    3. 过滤请求参数: 使用适当的输入验证和过滤来处理用户提供的请求参数。特别是对于路径参数或其他用户可控的输入,要进行严格的验证和过滤,防止路径遍历攻击。
  • 相关阅读:
    Git明白人
    PyTorch(四)Torchvision 与 Transforms
    http接口测试—自动化测试框架设计
    Weblogic 反序列化命令执行漏洞(CVE-2018-2628)漏洞复现【vulhub靶场】
    【Spring学习笔记】
    Vue中组件间的传值(子传父,父传子)
    vue-next-admin本地部署
    Glide源码解析二---into方法
    0-JavaWeb基础总结
    使用匿名函数 回调函数处理字符串
  • 原文地址:https://blog.csdn.net/weixin_58783105/article/details/132745880