导读
开发环境
版本号 | 描述 | |
---|---|---|
MacOS | 11.5 | |
Docker desktop | 2.2.0.3 |
DVWA介绍
DVWA(Damn Vulnerable Web Application)是randomstorm的一个开源项目。一个用来进行安全脆弱性鉴定的
PHP/MySQL Web应用
,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。简单说,就是一个开源的
靶机
系统。
DVWA共有十个模块,分别是:
1.Brute Force(密码破解)
2.Command Injection(命令行注入)
3.CSRF(跨站请求伪造)
4.File Inclusion(文件包含)
5.File Upload(文件上传)
6.Insecure CAPTCHA (不安全的验证码)
7.SQL Injection(SQL注入)
8.SQL Injection(Blind)(SQL盲注)
9.XSS(Reflected)(反射型跨站脚本)
10.XSS(Stored)(存储型跨站脚本)
Docker方式搭建
为什么用Docker
当前问题:
- 本机环境已经千疮百孔,
php
版本有点高,好像前几年自学php安装的,不适合DVWA。 - DVWA需要配置
数据库
,稍显麻烦。 - DVWA还用到了
Apache
服务器。 - 得让上面三个配置妥当,想想都是头疼的事情,忽发奇想,使用
Docker
。
Docker
优势:快速搭建,环境独立。
下载安装Docker Desktop
为了不记那么多命令,我使用的是
Docker Desktop
,这是带图像界面的Docker,用起来还是挺方便的。(小编电脑安装的是2.2.0.3的版本,几年前的了)
- 打开官网下载地址:https://www.docker.com/products/docker-desktop/
- 根据自己Mac的CPU芯片版本下载合适的安装包(左边是Intel的,右边是苹果芯片的)
- 安装就是下一步、下一步。
- 启动
Docker Desktop
,点击鲸鱼这个图标,像下面显示绿色,就表示启动成功了。
ps: 不启动Docker的时候执行docker命令会报错的。
安装DVWA
# 下载镜像
docker pull citizenstig/dvwa
# 设置映射端口并启动 -p后边的8080:80代表把容器里的80端口映射给宿主机的8080端口。这样做了映射之后,可以通过8080端口访问该dvwa的主页。
docker run --rm -p 8080:80 citizenstig/dvwa
本机访问一下:http://localhost:8080 出现下图就表示安装成功
点击图中的create /reset database
按钮,设置数据库。
默认的登录账号密码是:admin/password
测试
设置安全等级
DVWA的十个模块都是有安全等级的,我们先设置
Low
等级进行测试。
ps:
测试过程中出现了设置安全等级后,切换到功能模块,安全等级并未生效的现象,重启docker
能解决该问题。
Command Injection
命令注入测试
Command Injection
模块,本来的功能是通过输入框输入一个ip,后台接收到该ip后执行system
函数,调用系统命令ping
,并将ping的结果返回给页面。(以输入localhost
为例,其实最终就是执行了ping localhost
命令。)
当我们输入
localhost && whoami
,最终就是执行了ping localhost && whoami
命令,从而多执行了一个命令,效果如下图所示:
总结:通过特殊的命令组合,拼接出我们想要的命令,并执行,这就是命令注入。
其他环境搭建
Linux真机搭建
直接参考这个教程吧,思路很清晰《Web安全实战入门十分钟搭建DVWA渗透靶场》 https://www.bilibili.com/video/BV1pE41177xt
Windows搭建
phpStudy集成了各种环境,很容易搭建,参考文章 《DVWA安装以及模块使用教程》https://blog.csdn.net/Estrus5/article/details/124512714
参考资料
- Web安全实战入门十分钟搭建DVWA渗透靶场 https://www.bilibili.com/video/BV1pE41177xt
- kali下使用docker建立DVWA、CTFD靶机 https://blog.csdn.net/angleoldhen/article/details/126281487