在加入新公司后,我有一个新的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
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O
/etc/yum.repos.d/docker-ce.repo
yum -y install docker
enable docker && systemctl start docker systemctl
docker --version
目前DVWA支持两种方式部署,一种是下载包到宿主机直接部署,同时启动php和mysql。另一种则是通过Docker来部署,这种方式会更加便捷,因此本文这里选择通过Docker来部署。
那么,目前DVWA是否有docker镜像呢?我们来search一下看看:
# docker search dvwa
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
citizenstig/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这个镜像。
Using default tag: latest
latest: Pulling from citizenstig/dvwa
......
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命令验证一下:
打开浏览器,输入服务器主机名/IP地址进行访问,如果能出现如下界面,则说明DVWA靶场环境搭建成功。
在弹出的setup页面中,点击“Create/Reset Database”按钮,完成Database的创建。
创建Database成功后,就跳转到了登录页面。
初始用户名:admin,密码:password
登录成功后,便可进入DVWA靶场了。
此外,我们还可以通过DB客户端连接DVWA的MySQL数据库,通过之前docker run自定义的用户密码,可以看到具体的数据表:
它们是:暴力破解、命令行注入、跨站请求伪造、文件包含、文件上传、不安全的验证码、SQL注入、SQL盲注、弱会话ID、XSS漏洞(DOM型跨站脚本、反射型跨站脚本、 存储型跨站脚本)
参考资料
B站,《DVWA全系列漏洞通关技巧》,https://www.bilibili.com/video/BV1JR4y1x7Rg
点击下方卡片关注DotNet NB
一起交流学习
▲ 点击上方卡片关注DotNet NB,一起交流学习
请在公众号后台