【漏洞复现】Apache httpd Server CVE-2021-41773 路径穿越

admin 2024年3月26日22:58:50评论2 views字数 1907阅读6分21秒阅读模式

    ----------------------------------------------------------

    本文题干阅读时间推荐5min,练习推荐1h

    ----------------------------------------------------------

     如果各位童鞋想讨论以下相关内容,欢迎关注公众号, 联系我:

    • OSCP相关技术备考中

    • CISSP备考经验已通过认证

    • CCSK(云安全)已通过认证

    • ISO/IEC 27001 Foundation已通过认证

    -----------------------------------------------------------

    【漏洞复现】Apache httpd Server CVE-2021-41773 路径穿越

    0x01 漏洞说明

    Apache HTTP Server 2.4.49 中对路径规范化所做的更改中发现了一个缺陷。攻击者可以使用路径遍历攻击穿越到服务器目录以外。在开启CGI配置后(开启cgi并不是什么罕见之事),将会从目录穿越升级为RCE

    0x02 漏洞影响

    Apache HTTP Server 2.4.49

    Apache HTTP Server 2.4.50 (修复不完整 CVE-2021-42013)

    0x03 漏洞成因

    1. 由于在Apache HTTP Server 2.4.48 升级到 Apache HTTP Server 2.4.49      时,对路径规范化所做的更改中出现漏洞,该漏洞是由于 server/util.c中的 ap_normalize_path函数 一次解析一个 Unicode 值并在所有字符都被解码之前尝试检测遍历逻辑导致的。

    2. 该漏洞默认配置情况下只存在目录遍历,但开启不受限制的 mod_cgi功能将会造成RCE

    0x04 漏洞分析

    Apache HTTP Server 2.4.49 版本中,在对用户发送的请求中的路径参数进行规范化时,其使用的 ap_normalize_path 函数会对路径参数先进行 url 解码,然后判断是否存在 ../ 的路径穿越符。

    当检测到路径中存在 % 字符时,若其紧跟的两个字符是十六进制字符,则程序会对其进行 url 解码,将其转换成标准字符,如 %2e 会被转换为 . 。若转换后的标准字符为 . ,此时程序会立即判断其后两字符是否为 ./ ,从而判断是否存在未经允许的 ../ 路径穿越行为。

    如果路径中存在 %2e./ 形式,程序就会检测到路径穿越符。然而,当出现 .%2e/ %2e%2e/ 形式,程序就不会将其检测为路径穿越符。原因是遍历到第一个 . 字符时,程序检测到其后两字符为 %2 而不是 ./ ,就不会将其判断为 ../ 。因此,攻击者可以使用 .%2e/ %2e%2e/ 绕过程序对路径穿越符的检测,从而读取位于 Apache 服务器 web 目录以外的其他文件,或者读取 web 目录中的脚本文件源码,或者在开启了 cgi cgid 的服务器上执行任意命令。

    0x05 漏洞复现

    1、使用kali里面的vuln NSE类别的指定脚本

    【漏洞复现】Apache httpd Server CVE-2021-41773 路径穿越

    https://github.com/mauricelambert/CVE-2021-41773

    【漏洞复现】Apache httpd Server CVE-2021-41773 路径穿越

    2、下载后,更新到--script区域中

kali@kali:~$ sudo cp /home/kali/Downloads/http-vuln-cve-2021-41773.nse /usr/share/nmap/scripts/http-vuln-cve2021-41773.nsekali@kali:~$ sudo nmap --script-updatedb[sudo] password for kali: Starting Nmap 7.92 ( https://nmap.org )NSE: Updating rule database.NSE: Script Database updated successfully.Nmap done: 0 IP addresses (0 hosts up) scanned in 0.54 seconds

    3、执行nmap扫描

    要使用NSE脚本,我们将提供脚本名称、目标信息和端口号。我们还将启用服务检测。

    【漏洞复现】Apache httpd Server CVE-2021-41773 路径穿越

    4、从Verify arbitrary file read:之后的脚本输出中复制链接,并将其用作curl的参数。

    【漏洞复现】Apache httpd Server CVE-2021-41773 路径穿越

-----------------------------------------------

本期漏洞复现就结束啦,下期见!

--------------------------------------------------

注意:请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关!~

走之前记得点个在看~【漏洞复现】Apache httpd Server CVE-2021-41773 路径穿越

原文始发于微信公众号(从放弃到入门):【漏洞复现】Apache httpd Server CVE-2021-41773 路径穿越

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月26日22:58:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞复现】Apache httpd Server CVE-2021-41773 路径穿越https://cn-sec.com/archives/2604971.html

发表评论

匿名网友 填写信息