这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战
DVWA靶场-docker容器安装搭建方法
DVWA(Damn Vulnerable Web App)是一个基于PHP/MySql搭建的Web应用程序,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助Web开发者更好的理解Web应用安全防范的过程。
参考链接
搭建博文:www.cnblogs.com/sym945/p/11…
官方容器:hub.docker.com/r/vulnerabl…
环境描述
宿主机:ubuntu-19.04-live-server
docker:19.03.3
DVWA版本:latest,DIGEST:dae203fe1164,linux/amd64,查看dockfile,该版本DVWA镜像是基于FROM debian:9.2
宿主机镜像:64版本,可以考虑后期改为32G或者16G版本的镜像
安装过程
注:以下命令皆在root用户下运行
一、安装并配置Docker
1.更新源
apt-get update && apt-get upgrade && apt-get clean
2.安装Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
3.配置Docker加速
vi /etc/docker/daemon.json
添加以下内容
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"]
}
重新启动Docker并查看Docker信息
systemctl daemon-reload
systemctl restart docker
docker info
二、下载并安装DVWA
1.搜索DVWA镜像
docker search dvwa
docker search web-dvwa
2.安装DVWA
docker pull vulnerables/web-dvwa #此处安装的最新版
等同于
docker pull vulnerables/web-dvwa:latest
目前官方的latest版本更新于一年前,另一个版本为1.9版更新于3年前。
docker pull vulnerables/web-dvwa:1.9
3.确定下完成 查看本机docker镜像列表情况
docker images
4.运行DVWA容器
docker run --rm -it -p 10080:80 vulnerables/web-dvwa
5.查看容器使用的宿主机端口是否被打开
netstat -ntulp |grep 10080
显示正常,则至此DVWA靶机安装完成,还需要继续配置才可以完成安装。
三、配置DVWA环境
1.如果靶机为桌面环境的主机可以直接通过 http://127.0.0.1:10080 在其他机器可以使用宿主机的IP地址加端口进行访问。 http://IP:10080
初始账户:admin 初始密码:password
2.创建数据库
点击Create/Reset Database创建好数据库,点击Login
其他
附:dockerfile文件
FROM debian:9.2
LABEL maintainer "opsxcq@strm.sh"
RUN apt-get update && \
apt-get upgrade -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
debconf-utils && \
echo mariadb-server mysql-server/root_password password vulnerables | debconf-set-selections && \
echo mariadb-server mysql-server/root_password_again password vulnerables | debconf-set-selections && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
apache2 \
mariadb-server \
php \
php-mysql \
php-pgsql \
php-pear \
php-gd \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY php.ini /etc/php5/apache2/php.ini
COPY dvwa /var/www/html
COPY config.inc.php /var/www/html/config/
RUN chown www-data:www-data -R /var/www/html && \
rm /var/www/html/index.html
RUN service mysql start && \
sleep 3 && \
mysql -uroot -pvulnerables -e "CREATE USER app@localhost IDENTIFIED BY 'vulnerables';CREATE DATABASE dvwa;GRANT ALL privileges ON dvwa.* TO 'app'@localhost;"
EXPOSE 80
COPY main.sh /
ENTRYPOINT ["/main.sh"]