实战教学:重现Apache HTTPd 2.4.49的CVE-2021-41773漏洞 - 阶段三:靶场环境设置指南
最编程
2024-07-25 09:41:42
...
本实验使用vulhub环境,节约搭建时间
mkdir Dockerfile //在空目录里面创建Dockerfile目录
cd Dockerfile //进入Dockerfile目录
vi Dockerfile //创建文件Dockerfil并编写
DockerFile文件内容:
FROM httpd:2.4.49
RUN 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
接下来在 Dockerfile 文件的存放目录下,执行构建动作。
以下示例,通过目录下的 Dockerfile 构建一个 httpd:2.4.49rce(镜像名称:镜像标签)。
注:最后的 . 代表本次执行的上下文路径。
docker build -t httpd:2.4.49rce .
运行docker
docker run -d -p 85:80 httpd:2.4.49rce
之后就可以通过浏览器访问量(如果浏览器访问不了,重新启动实验机后再启动docker就可以解决该问题)