搭建Web安全入门漏洞靶场DVWA其实只要10分钟!(附30个免费docker镜像加速源)

在前期文章《六大知名Web安全漏洞靶场》中我们介绍了漏洞靶场的用途和能力介绍。其中DVWA作为Web安全入门必刷的靶场,包含了最常见的web漏洞,界面简单易用,通过设置不同的难度,可更好地理解漏洞的原理及对应的代码防护。本文详细介绍下如何利用docker快速搭建DVWA漏洞靶场。

知名WEB漏洞靶场

1. 概览

DVWA涉及到多种技术栈,主要有PHP,mariadb,中间件(如apache,nginx等),如果不采用Docker方式安装,整个安装及配置过程会非常麻烦(从下图中可以看出DVWA涉及的安装依赖项),要把靶场手工一步一步搭建并运行起来,至少耗费1个小时。

DVWA安装依赖项

但如果采用Docker方式安装可以分钟级搞定,有两种安装方式选择:

  • 使用官方Docker镜像:直接拉取Docker Hub官方镜像运行靶场,预估耗时5min。

    缺点:官方镜像是6年前构建的了,后续没有维护更新。

  • 基于源码构建最新镜像(推荐):基于DVWA最新代码仓,利用Docker构建出最新镜像并运行靶场,预估耗时15min.

    优点:可以运行最新版本的靶场,修复了旧版本中的Bug并新增了部分特性。

2. 前提条件

电脑上已经安装了Docker环境(比如Docker Desktop,Podman Desktop)。

有了Docker环境后,我们还需要配置镜像加速源(因为国内无法直接使用Docker Hub,据说Docker Hub中存在大量不受管控的恶意镜像源,所以在国内被封禁了)。

不过,大家可以在docker的配置文件(默认径为:/etc/docker/daemon.json)中添加如下镜像源(非常全,几乎包含了大家日常用到的所有基础镜像)来实现Docker镜像的拉取:

{
    "registry-mirrors": [
        "https://do.nark.eu.org",
        "https://docker.m.daocloud.io",
        "https://docker.1panel.live",
        "https://jyr6zqi9.mirror.aliyuncs.com",
        "https://dockerproxy.com",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://reg-mirror.qiniu.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://ccr.ccs.tencentyun.com",
        "https://mirror.ccs.tencentyun.com",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn",
        "https://hub.uuuadc.top",
        "https://docker.anyhub.us.kg",
        "https://dockerhub.jobcher.com",
        "https://dockerhub.icu",
        "https://docker.ckyl.me",
        "https://docker.awsl9527.cn",
        "https://hub.fasterdocker.com",
        "https://docker.13140521.xyz",
        "https://hub.uuuadc.top/",
        "https://docker.1panel.live",
        "https://hub.rat.dev",
        "https://docker.chenby.cn",
        "https://docker.hpcloud.cloud",
        "https://dislabaiot.xyz",
        "https://dockerpull.com",
        "https://atomhub.openatom.cn",
        "https://docker.kubesre.xyz"
    ]
}

Note:以上配置完成后记得要重启Docker服务以让配置文件生效,执行命令service docker restart即可重启。

3. 安装步骤

3.1. 使用官方Docker镜像

执行如下命令拉取并运行DVWA靶场:

docker run --rm -it -p 80:80 vulnerables/web-dvwa

运行成功后有如下提示:

运行成功日志

打开浏览器地址栏,输入http://127.0.0.1http://localhost会直接跳转到如下登录界面(默认的账户名为:admin,密码为:password):

登录界面

登录成功后,将页面滚动到最下方,点击“创建/重置数据库”按钮,完成DVWA靶场设置。

设置DVWA靶场

设置后页面自动跳转到漏洞靶场主页。

DVWA漏洞靶场主页

执行docker images命令,可以看到拉取到本地的所有镜像信息,可以看到DVWA镜像是6年前更新的。

拉取的官方镜像

拉下来我们会介绍如何基于最新代码在本地构建出最新镜像。

3.2. 基于源码构建最新镜像

DVWA开源项目开始于2008年12月,时至今日(2024年)也一直有代码更新,累计Star数已经超过1万。

2024年代码提交活动图

执行如下命令下载最新代码到本地:

git clone https://github.com/digininja/DVWA.git

克隆代码

切换到代码根目录并构建镜像:

cd DVWA
docker build -t dvwa:latest .

这里我们可以看到官方代码中已经增加了compose.yml文件,里面包含两个镜像成分,第一个镜像 dvwa:latest就是我们上一步刚构建出来的,第二个镜像mariadb:10是DVWA网站的后台数据库。

compose.yml

Note:MariaDB是由MySQL的原始开发者创建的。MariaDB的目的是为了提供一个完全兼容MySQL的替代品,用来避免MySQL被闭源的风险。

由于有了compose.yml文件,我们可以直接使用如下命令启动DVWA靶场应用。

docker-compose up d

运行成功日志

至此,便可直接通过浏览器访问了,拉下来的配置步骤与上一章节(3.1章节)一样,这里便不再赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈安全

点赞收藏也是赞赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值