草庐IT

DVWA靶场搭建

Fxe0_0 2023-04-05 原文

1.靶场是什么,靶场的搭建

在学习web安全的过程中,靶场是必不可少的,毕竟在计算机界,任何理论知识都不如实操

靶场就是人为提供的带有安全漏洞的服务,每一个学习者都可以在本地快速搭建来实操,回溯漏洞的发生原理以及操作方式。DVWA靶场呢就是一个可以通过浏览器访问的拥有可视化页面的web靶场。下面就通过两种方式搭建部署DVWA靶场。

方式1:phpstudy2018本地搭建 DVWA

总之还是来先说一下phpstudy是啥,以及为啥要用phpstudy来搭建靶场

phpstudy是一个能够提供php建站集成化服务的一款软件。

使用phpstudy2018的原因:

要搭建一个web服务,首先需要四样东西:

1.操作系统【windows,linux,macos等】

2.中间件【用于处理数据的交互,中间件的发展史也是比较有趣的。常见的中间件由nginx,apache,iis等】

3.数据库【mysql,sqlserver,Oracle,Access,mongodb等,这些数据库又可以分为大中小型数据库】

4.一种后端语言【php,python,java等】

想在自己本地凑齐这四种东西显然是比较麻烦的,那么大伙就想有没有一种集成环境可以直接把这四种东西部署上去呢?

phpstudy就可以做到,当然Xampp也可以,有很多这样的集成化环境都可以实现该需求,选用phpstudy2018也单纯是因为我用习惯了,新版的phpstudy也叫小皮面板当然也可以,但是我觉得不如老版本的2018小巧好用。

1.下载phpstudy2018

phpstudy2018下载地址

下载之后需要安装,运行之后一路下一步,记得存放位置要改到一个可以找的到的位置

安装完成后,我们可以在phpstudy的文件目录找到phpStudy.exe

 这个就是phpstudy2018的执行文件了。双击就可以运行

 是一个这样的界面

2.下载DVWA

下载地址:

https://github.com/digininja/DvWA/archive/master.zip

3.将DVWA部署到phpstudy2018上 

在下载好DWVA的压缩包后可以解压出来一个DVWA-master

把这个DVWA-master复制到phpstudy目录下的\PHPTutorial\WWW目录下

为什么是这个目录?

WWW目录是phpstudy网站目录的默认路由,需要将所有的站点文件放置在该目录下

把DVWA-master重命名为dvwa 

 

进入dvwa的config目录删除 config.inc.php.dist文件的后缀.dist

使其名称为config.inc.php

用记事本编辑该配置文件将我选中的两行的值全部更改为root

记得ctrl+s保存

启动phpstudy 

 点击下面的启动

 

通过浏览器访问127.0.0.1/dvwa 

 【为什么是127.0.0.1:因为在ipv4中127.0.0.1标识本地环回地址,也就是本地计算机,由于这个web服务是在本地搭建的,所以访问的ip地址就应该是127.0.0.1】

拉到最下面点击Create/Reset Databse建立数据库

建立成功后会跳转到登录

默认的用户名和密码为

admin 

password

登录即可

在DVWA的Security一栏 里可以调节靶场难度

至此phpstudy2018搭建DVWA靶场结束 

方式2:虚拟机docker搭建DVWA靶场

其实第一种方式搭建出来的靶场就够用了,这种docker的也可以不整。通过docker来搭建就当是熟悉一下linux命令了

docker是什么?

docker容器可以类比成人们生活中的集装箱,需要什么你就往里塞什么,可以理解成一种独立的操作环境。docker对比虚拟机体积更小,在架构上也比虚拟机更加简介(具体可以百度了解)。

那怎么获得想要的东西来塞进docker里呢?

这就需要一个大家都可以共用的仓库,当需要什么的时候就从仓库里来拿,这个仓库就叫做dockerhub,这其实和github的命名方式相同。当需要什么了,就通过docker的pull命令从dockerhub上拉取内容,下载到本地来使用。

部署docker,拉取DVWA镜像并运行 

1.下载虚拟机

由于老师在示例的时候用的是kali,那么我这里也就用kali吧

具体虚拟机和kali的安装还是自行百度,不然篇幅过长了 

需要安装vmware并在vmware上安装kali

2.查看内核版本

uname -a

 大于3.10即可安装

3.更新 apt-get库

apt-get update && apt-get upgrade && apt-get dist-upgrade

在linux中,下载软件用的是apt-get install命令,当然这是Linux debian的命令,还会有yum等其他命令 

如果更新时间过长,可以百度如何更改apt-get的源,将下载源更改为国内源会快很多。

当询问是否执行时,输入y即可 

4.安装Docker和docker-compose

apt-get install docker docker-compose

 docker-compose是docker的一个组件。可以更加方便的管理docker

5.启动docker服务并运行helloworld检测是否能够正常使用 

service docker start

docker run hello-world

 

docker在run的时候会默认先查找是否又该镜像,若没有则默认去docker仓库里寻找同名镜像下载并运行

出现hello from docker则运行成功 

6.search dvwa镜像并拉取镜像

docker search dvwa

我们可以找到一个叫

vulnerables/web-dvwa的

那我们就用这个吧!

拉取镜像

docker pull vulnerables/web-dvwa

 run一下

docker run --rm --name dvwa -it -p 80:80 citizenstig/dvwa

这时候新开一个终端查看 一下kali的ip地址

 ifconfig

可以看到kali的ip地址是192.168.79.139

这时候通过本机浏览器访问

192.168.79.139即可访问到DVWA靶场

用户名和密码

admin

password

此时docker方式搭建也已经成功

有关DVWA靶场搭建的更多相关文章

  1. LinuxGUI自动化测试框架搭建(二十二)-框架主入口main.py设计&log日志调用 - 2

    (二十二)-框架主入口main.py设计&log日志调用和生成1测试目的2测试需求3需求分析4详细设计4.1新建存放日志目录log4.1.1配置config.py中写入log的目录4.2`baseInfo.py`中加入日志4.3`test_gedit.py`中加入日志4.4主函数入口main.py中调用日志5调用日志主函数main.py源码6`baseInfo.py`源码7`test_gedit.py`源码8运行效果9目前框架结构1测试目的组织运行所有的测试用例,并调用日志模块,便于问题定位。

  2. 基于ActiveMQ搭建MQTT服务备忘(二):webapp集成 - 2

    (1)为什么写这个话题(Why)读万卷书不如行千里路。这次搭建MQTT服务,遇到了一些误解,特此记录备忘。主要包括:(1)服务(Broker)的账户管理与网页管理平台的账户(2)与web应用的集成(Spring系)(2)ActiveMQ版本选择因为JAVA环境是JDK8,所以按兼容性考虑选择了ActiveMQ5.15的最后版本5.15.15。如果你是JDK11则可考虑ActiveMQ的最新版本5.17或5.18。ActiveMQ支持MQTTv3.1.1andv3.1。(3)ActiveMQ与web应用的集成主要介绍与Spring系的webapp集成(SpringBoot和SpringMVC)。

  3. 【微服务笔记23】使用Spring Cloud微服务组件从0到1搭建一个微服务工程 - 2

    这篇文章,主要介绍如何使用SpringCloud微服务组件从0到1搭建一个微服务工程。目录一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件(2)微服务依赖1.2、搭建注册中心(1)引入依赖(2)配置文件(3)启动类1.3、搭建配置中心(1)引入依赖(2)配置文件(3)启动类1.4、搭建API网关(1)引入依赖(2)配置文件(3)启动类1.5、搭建服务提供者(1)引入依赖(2)配置文件(3)启动类1.6、搭建服务消费者(1)引入依赖(2)配置文件(3)启动类1.7、运行测试一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件这里主要是使用的SpringCloudNetflix

  4. ruby-on-rails - 搭建Ruby开发环境 - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我目前正在尝试搭建一个学习Ruby的开发环境。环境主要是为了掌握这门语言,但我很可能会在很长一段时间后转向使用Rails进行开发。以Web开发为目标,我想了解首选的Web服务器和数据库。我打算在虚拟机上设置环境,所以我不担心把它弄坏。因此,我愿意使用Linux发行版、OSX或Windows作为操作系统。我正从C#转向,所以我想在一定程度上被迫采用Ruby的

  5. geth下载安装配置环境及联盟链的搭建 - 2

    以太坊概论考察课更具课堂教学讲解,参考开放资料。使用所学的知识,创建项目并完成要求的内容。包含的功能和要求具体如下:一:安装并运行geth客户端1、下载安装geth首先下载geth:https://geth.ethereum.org/downloads/​选择路径↓2、配置环境变量3、运行geth如下命令所示:查看geth命令。使用gethversion查看geth版本号,判断geth是否成功安装。如下命令所示:`gethversion`可以通过geth--help查看geth工具所支持的命令和相关参数,方便后期关于geth的操作。如下命令所示:geth--help运行结果如下:二:搭建get

  6. 五-1、elasticsearch集群搭建(ES集群搭建) - 2

    目录一、下载Elasticsearch1.选择你要下载的Elasticsearch版本二、采用通用搭建集群的方法三、配置三台es1.上传压缩包到任意一台虚拟机中2.解压并修改配置文件(配置单台es)3.配置三台es集群4.设置后台启动和开机自启(可选)一、下载Elasticsearch1.选择你要下载的Elasticsearch版本es下载地址这里我下载的是二、采用通用搭建集群的方法集群搭建方法三、配置三台es1.上传压缩包到任意一台虚拟机中上传方式有两种第一种:使用xftp上传直接拖动过去就可以了。第二种:使用lrzsz先安装yum-yinstalllrzsz切换到要上传的位置cd/opt/

  7. 【Element UI通用后台管理系统】(一)项目搭建 - 2

    一、使用Yarn作为项目的包管理工具1、Yarn是什么?“Yarn是由Facebook、Google、Exponent和Tilde联合推出了一个新的JS包管理工具,正如官方文档中写的,Yarn是为了弥补npm的一些缺陷而出现的。”这句话让我想起了使用npm时的坑:npminstall的时候非常慢,特别是新的项目拉下来要等半天,删除node_modules,重新install的时候依旧如此。同一个项目,安装的时候无法保持一致性。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表的含义不同。 "5.0.3"   表示:安装指定的5.0.3版本"~5.0.3"  表示:安

  8. 手把手教你搭建SpringCloud Alibaba之生产者与消费者 - 2

      SpringCloudAlibaba全集文章目录:零、手把手教你搭建SpringCloudAlibaba项目一、手把手教你搭建SpringCloudAlibaba之生产者与消费者二、手把手教你搭建SpringCloudAlibaba之Nacos服务注册中心三、手把手教你搭建SpringCloudAlibaba之Nacos服务配置中心四、手把手教你搭建SpringCloudAlibaba之Nacos服务集群配置五、手把手教你搭建SpringCloudAlibaba之Nacos服务持久化配置六、手把手教你搭建SpringCloudAlibaba之Sentinel实现流量实时监控七、手把手教你搭

  9. 【保姆级】python最新版3.11.1开发环境搭建,看这一篇就够了 - 2

    【保姆级】Python最新版开发环境搭建,看这一篇就够了(适用于Python3.11.2安装)文章目录【保姆级】Python最新版开发环境搭建,看这一篇就够了(适用于Python3.11.2安装)一、Python解释器安装Windows安装步骤环境变量配置(非必要)MacOS安装步骤Linux安装步骤二、PyCharm安装三、创建Python工程工欲善其事必先利其器,在使用Python开发程序之前,在计算机上搭建Python开发环境是必不可少的环节,目前Python最新稳定版本是3.11.1,且支持到2027年,如下图所示本文手把手带你从0到1搭建Python最新版3.11.1开发环境,堪称保

  10. (一)PaddlePaddle(深度学习框架)的搭建、使用 - 2

    PaddlePaddle是百度公司2016年开源的深度学习框架,现如今可以方便部署到服务器、智能手机和嵌入式设备中。PaddlePaddle还开源大量常用的深度学习模型。一、PaddlePaddle快速入门:(1)PaddlePaddle的大部分API都在paddle.fluid中。接着定义两个PaddlePaddle常量x1和x2,形状是[2,2],也叫维度,并赋值为1,类型为int64,得到一个张良[[1,1],[1,1]],代码:#PaddlePaddle的大部分API都在paddle.fluid中。importpaddle#兼容PaddlePaddle2.0paddle.enable_

随机推荐