带你快速搭建靶场漏洞环境|DVWA之Docker版

3,257 阅读2分钟

这是我参与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"]