Web应用安全 -- DVWA部署(LinuxDocker版)

Posted 第十个灵魂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web应用安全 -- DVWA部署(LinuxDocker版)相关的知识,希望对你有一定的参考价值。

一、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带宽)
OSCentOS 7.6 64bit ( Docker中:Ubuntu )
LAMPyum源最新版
DockerServer 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界面证明部署

 

#阶段检验

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

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

:wq!  #保存退出

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

# 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     #如果第三步,按照本文创建的,这里可以不用执行。否则就改一下响应的配置

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

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

简单“黑”一下:

第一步:更改安全等级

第二步:攻击一下

提交后,系统弹出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

0人点赞

IT技术

以上是关于Web应用安全 -- DVWA部署(LinuxDocker版)的主要内容,如果未能解决你的问题,请参考以下文章

笔记网易微专业-Web安全工程师-04.WEB安全实战-1.DVWA部署

Security ❀ 安装部署Damn Vulnerable Web Application(DVWA)

DVWA系列----DVWA简介

DVWA环境搭建

网络安全Docker部署DVWA靶机环境

DVWA之Brute Force