0 前言
本节内容旨在提供一种比较简单可行的安装方法,但是由于docker上的镜像文件质量难以保障,有些是多年以前的没有更新,如果需要安装官方最新版本的请参考《WAMP环境+DVWA漏洞测试平台搭建过程》。
1 DVWA简介
DVWA(Damn Vulnerable Web App)是一个基于PHP/MySql搭建的Web应用程序,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助Web开发者更好的理解Web应用安全防范的过程。
DVWA一共包含十个模块分别是:
- Bruce Force //暴力破解
- Command Injection //命令注入
- CSRF //跨站请求伪造
- File Inclusion //文件包含
- File Upload //文件上传漏洞
- Insecure CAPTCHA //不安全的验证
- SQL Injection //sql注入
- SQL Injection(Blind) //sql注入(盲注)
- XSS(Reflected) //反射型XSS
- XSS(Stored) //存储型XSS
同时每个模块的代码都有4种安全等级:Low、Medium、High、Impossible。通过从低难度到高难度的测试并参考代码变化可帮助学习者更快的理解漏洞的原理。
2 Docker搭建DVWA
-
使用命令
docker search dvwa
搜索官方仓库中关于DVWA的镜像列表。
-
使用命令下载镜像到本地:
docker pull docker.io/citizenstig/dvwa
,命令中将镜像名指定为星榜第一的那个。
-
使用命令
docker image ls
列出本地镜像列表信息。可以看到刚刚下载的镜像文件及主要信息,如tag、文件大小等。
-
使用以自定义的密码启动mysql服务,并以后台方式运行的方式:
docker run --name dvwa -d -p 80:80 -p 3306:3306 -e MYSQL_PASS="mypass" docker.io/citizenstig/dvwa
。
-
在上一步的基础上,新打开一个终端窗口,输入命令:
docker ps
,查看电脑中运行的容器列表及主要信息。如果在命令后加上参数-a
,则可以查看运行与暂停的所有容器列表。
可以看到在创建的容器也打开了80和3306端口。
-
使用命令进入容器交互界面:
docker exec -i -t dvwa /bin/bash
。 -
打开浏览器,输入IP地址访问,也可以指定80端口号。打开界面如下:说明靶场环境搭建成功。
3 总结
- 了解DVWA靶场的主要功能;
- 了解DCWA靶场的搭建方法。