首页 文章详情

DVWA通关之旅(1)安装部署DVWA

DotNet NB | 366 2022-06-17 22:30 0 0 0
UniSMS (合一短信)

【渗透测试总结/Edison Zhou
0为什么要学渗透测试?

在加入新公司后,我有一个新的Task:渗透测试,嗯,在非互联网公司的IT程序员啥都要会点。那么,作为一个0经验的小白如何快速入门呢?我想到了搭建一个初级靶场,它足够平滑能让我入门,又能囊括常见的Web安全漏洞。于是,DVWA就进入了我的视线

DVWA (Dam Vulnerable Web Application) 是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序,它包含了SQL注入、XSS、盲注等常见的一些安全漏洞。其主要目标是帮助安全专业人员在法律环境中测试他们的技能和工具,帮助Web开发人员更好地了解保护Web应用程序的过程,并帮助学生和教师了解受控类中的Web应用程序安全性房间测试环境。

总结一句话:DVWA是一个可以合法攻击的Web靶场,适合拿来练手渗透测试,并了解如何防御常见攻击

关于DVWA:http://www.dvwa.co.uk

1准备工作
准备一台Linux服务器,安装好Docker并确保可以访问外网拉取docker镜像。
# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O/etc/yum.repos.d/docker-ce.repo# yum -y install docker# systemctl enable docker && systemctl start docker# docker --version
NOTE:本文服务器版本为CentOS 7.6
参考教程:DVWA 全系列漏洞通关技巧
(https://www.bilibili.com/video/BV1JR4y1x7Rg)
2通过Docker部署DVWA

目前DVWA支持两种方式部署,一种是下载包到宿主机直接部署,同时启动php和mysql。另一种则是通过Docker来部署,这种方式会更加便捷,因此本文这里选择通过Docker来部署。

那么,目前DVWA是否有docker镜像呢?我们来search一下看看:

# docker search dvwaNAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATEDcitizenstig/dvwa                     Docker container for Damn Vulnerable Web App??  68                   [OK]infoslack/dvwa                                                                       11                   [OK]sagikazarmark/dvwa                   DVWA (Damn Vulnerable Web Application) Docke??  11                   [OK]......

可以看到,目前已经有一些了,根据传统惯例,我们选择Star数量最多的,即citizenstig/dvwa这个镜像。

拉取镜像
首先,通过docker pull命令拉取镜像(默认tag为latest):
# docker pull citizenstig/dvwaUsing default tag: latestlatest: Pulling from citizenstig/dvwa......
其次,通过docker images命令验证一下:

运行容器
由于DVWA需要使用到MySQL,因此DVWA的docker镜像中也包括了MySQL,所以这里我们通过下面的docker run命令来启动DVWA,同时以自定义密码的方式启动MySQL服务:
docker run --name dvwa -d -p 80:80 -p 3306:3306 -e MYSQL_PASS="mysqlpass2022" citizenstig/dvwa

说明:这里我们将宿主机的80端口映射到容器DVWA的Web站点端口,将宿主机的3306端口映射到DVWA的MySQL数据库服务端口。

启动之后,通过docker ps命令验证一下:

3验证DVWA部署结果

打开浏览器,输入服务器主机名/IP地址进行访问,如果能出现如下界面,则说明DVWA靶场环境搭建成功。

在弹出的setup页面中,点击“Create/Reset Database”按钮,完成Database的创建。

创建Database成功后,就跳转到了登录页面。

初始用户名:admin,密码:password

登录成功后,便可进入DVWA靶场了。

此外,我们还可以通过DB客户端连接DVWA的MySQL数据库,通过之前docker run自定义的用户密码,可以看到具体的数据表:

End总结
本文总结了开源的初级入门Web靶场DVWA的安装部署过程,Edison已经在自己的云服务器上部署好了,接下来就是10个漏洞的通关之旅了。

它们是:暴力破解、命令行注入、跨站请求伪造、文件包含、文件上传、不安全的验证码、SQL注入、SQL盲注、弱会话ID、XSS漏洞(DOM型跨站脚本、反射型跨站脚本、 存储型跨站脚本)


参考资料

B站,《DVWA全系列漏洞通关技巧》,https://www.bilibili.com/video/BV1JR4y1x7Rg

推荐阅读:
  API 工程化分享
  我的微软 MVP 之路
【译】ASP.NET Core 6 中的性能改进
【译】.NET 7 预览版 1 中的 ASP.NET Core 更新
【译】C# 11 特性的早期预览

点击下方卡片关注DotNet NB

一起交流学习

▲ 点击上方卡片关注DotNet NB,一起交流学习

请在公众号后台

回复 【路线图】获取.NET 2021开发者路线图
回复 【原创内容】获取公众号原创内容
回复 【峰会视频】获取.NET Conf开发者大会视频
回复 【个人简介】获取作者个人简介
回复 【年终总结】获取作者年终总结
回复 加群加入DotNet NB 交流学习群

长按识别下方二维码,或点击阅读原文。和我一起,交流学习,分享心得。


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter