Web应用安全 -- DVWA部署(Linux、Docker版)

举报
云叔记 发表于 2021/09/11 12:16:14 2021/09/11
【摘要】 Damn Vulnerable Web Application (DVWA)(译注:可以直译为:"该死的"不安全Web应用网站),是一个编码糟糕的、易受攻击的 PHP/MySQL Web应用程序。 它的主要目的是帮助安全专业人员在合法的环境中,测试他们的技能和工具,帮助 Web 开发人员更好地了解如何增强 Web 应用程序的安全性,并帮助学生和教师在受控的课堂环境中,了解 Web 应用程序的安全。
DVWA首页.png

一、DVWA简介

Damn Vulnerable Web Application (DVWA)(译注:可以直译为:"该死的"不安全Web应用网站),是一个编码糟糕的、易受攻击的 PHP/MySQL Web应用程序。 它的主要目的是帮助安全专业人员在合法的环境中,测试他们的技能和工具,帮助 Web 开发人员更好地了解如何增强 Web 应用程序的安全性,并帮助学生和教师在受控的课堂环境中,了解 Web 应用程序的安全。


二、场景模块简介

DVWA主要包含以下场景模块:

1.Bruce 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) //反射型XSS
10.XSS(Stored) //存储型XSS

每个模块的代码都有4种安全等级:Low、Medium、High、Impossible。
通过从低难度到高难度的测试并参考代码变化可帮助学习者更快的理解漏洞的原理。


三、搭建环境及流程

服务器 华为云( 4vCPUs 8GiB c6s.xlarge.2 5M带宽)
OS CentOS 7.6 64bit ( Docker中:Ubuntu )
LAMP yum源最新版
Docker Server Version: 18.06.1-ce、Storage Driver: overlay2


搭建流程简述:

1、拉取基础镜像,进入容器进行部署
2、安装基础工具及LAMP环境
3、创建数据库、账号密码及授权
4、下载并部署DVWA
5、访问服务,简单“黑”一下


搭建过程:
# 1、拉取基础镜像,进入容器进行部署

$ docker run -it -d --name dvwa -p 8444:80 ubuntu    #拉取ubuntu镜像
$ docker exec -it dvwa /bin/bash    #进入容器
# 2、安装基础工具及LAMP环境

$ apt-get update
$ apt-get install -y zip unzip vim wget    #基础工具
$ apt-get -y install apache2 mariadb-server php php-mysqli php-gd libapache2-mod-php  #安装LAMP环境
# 安装过程中,需要有2次信息选择,一个是区域,一个是时区

$ service apache2 start    #启动apache服务
$ service mysql start      #启动数据库服务

#注意:
http://你的ip:8444      #如果出现apache界面证明部署

选择.png
#阶段检验

$ cd /var/www/html
$ vim 1.php

1.php写入如下信息:
<?php
phpinfo();
?>

:wq!  #保存退出

从华为云控制台,安全组放开8444端口
访问:http://你的ip:8444/1.php   
#如果看到phpinfo,证明apache和php都部署OK了。
#安全起见,检测后,建议删除该文件。

php成功.png
# 3、创建数据库、账号密码及授权
$ mysql #进入mysql

#创建数据库、用户、密码、授权
mysql> create database dvwa;
mysql> create user dvwa@localhost identified by 'p@ssw0rd';
mysql> grant all on dvwa.* to dvwa@localhost;
mysql> flush privileges;

#这里按照上面代码执行,后面config.inc.php就不用修改了。
# 4、下载并部署DVWA
$ cd /var/www/html    #进入部署目录
$ wget https://codeload.github.com/digininja/DVWA/zip/master    #下载
$ mv master master.zip    #如果下载的没有后缀,就执行这个增加一个后缀
$ unzip master.zip        #解压
$ mv DVWA-master /var/www/html/dvwa    #移动(更名)到dvwa
$ chmod 777 -R /var/www/html    #做个授权
$ cd /var/www/html/dvwa/config    #进入配置目录
$ cp config.inc.php.dist config.inc.php    #复制创建php config文件
$ vim config.inc.php     #如果第三步,按照本文创建的,这里可以不用执行。否则就改一下响应的配置

dvwa成功.png
# 5、访问服务,简单使用
访问:http://你的ip:8444/dvwa
默认用户名:admin,默认密码:password;

登录后,点击最下方的 Create / Reset Database 按钮。数据库创建成功,重新登陆一下。
开始黑客之旅吧~ 


简单“黑”一下:

第一步:更改安全等级



更改安全等级.png

第二步:攻击一下



xss简单样例.png

提交后,系统弹出1,证明入侵成功!
当然这是一个简单的反射型XSS例子。
啥?没劲?那...

<script>alert(1)</script>
改为
<script>location.href = "https://www.baidu.com"</script>

提交后,和你的DVWA说拜拜把,直接跳转到百度。
大家可以自己试试存储型,如果成功了,那恭喜你,XSS(Stored)页面将永远是百度了。

更多攻防实例在后续文章会陆续推出,尽请关注~

参考:

主页: http://www.dvwa.co.uk/
项目主页: https://github.com/digininja/DVWA

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。