【P2】VMware 下 docker 快速搭建漏洞靶场 DVWA

news2024/11/17 3:38:55

文章目录

    • 一、docker 快速搭建漏洞靶场指南
    • 二、执行步骤
    • 三、为 kali 配置 docker 加速器
    • 四、访问 dockerhub 的 dvwa 镜像
    • 五、漏洞利用初探,修改 requests 请求参数远程执行命令
    • 六、vulhub 搭建漏洞复现


包括什么是 docker、docker 和虚拟机的的区别、docker 搭建 DVWA 及执行步骤、为 kali 配置 docker 加速器、访问 dockerhub 的 dvwa 镜像、vulhub 搭建漏洞复现。


一、docker 快速搭建漏洞靶场指南

1、什么是 docker

  • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口

2、docker 和虚拟机的的区别

  • vm 虚拟机是一个完整的操作系统

  • docker 直接在宿主主机的操作系统上调用硬件资源,而不是虚拟化操作系统和硬件资源

在这里插入图片描述

3、docker 搭建 DVWA

(1)、kali 安装 docker:

  • sudo apt install -y docker.io

  • apt 是 debian 系统的软件包管理器(kali 和 ubuntu 其实也是 debian 的分支)

(2)、使用示例:

  • apt install firefox(安装火狐浏览器)

  • apt remove firefox(卸载火狐浏览器)

  • apt upgrade firefox(升级火狐浏览器)

(3)、windows 能不能安装 docker?当然可以:https://www.docker.com/products/docker-desktop

二、执行步骤

(1)、添加Docker官方的GPG密钥

  • curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

在这里插入图片描述

(2)、更新源

  • echo ‘deb https://download.docker.com/linux/debian stretch stable’> /etc/apt/sources.list.d/docker.list

在这里插入图片描述

(3)、直接导入证书

  • echo deb https://download.docker.com/linux/debian/ stretch stable> /etc/apt/sources.list.d/docker.list

在这里插入图片描述

(4)、系统更新

  • apt-get update

在这里插入图片描述

(5)、安装 docker

  • sudo apt install docker.io

在这里插入图片描述

(6)、检查 docker 安装是否成功

  • docker -v

在这里插入图片描述

如图,显示出 docker 版本信息,代表 docker 安装成功

三、为 kali 配置 docker 加速器

(1)、阿里云镜像加速器:https://help.aliyun.com/document_detail/60750.html

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors":["https://xxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

(2)、进入阿里云网址,点击 容器镜像服务控制台,没账号注册一个即可

在这里插入图片描述

(3)、点击 镜像工具,点击 镜像加速器

在这里插入图片描述

(4)、创建一个文件

  • sudo mkdir -p /etc/docker

在这里插入图片描述

(5)、第二句

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://2fnam28c.mirror.aliyuncs.com"]
}
EOF

在这里插入图片描述

注:直接复制,在 kali 中右键点击 Paste Selection,即可粘贴上去

(6)、启动加速器

  • sudo systemctl daemon-reload

在这里插入图片描述

(7)、重启服务

  • sudo systemctl restart docker

在这里插入图片描述

四、访问 dockerhub 的 dvwa 镜像

查看镜像:docker search dvwa

  • 下载镜像:docker pull vulnerables/web-dvwa

  • 通过镜像启动容器:docker run --rm -it -p 80:80 vulnerables/web-dvwa / -p 80:80 (将容器里的80端口映射到 Kali 的80端口(网站服务))

  • 关闭容器:docker stop [container_id(容器 id)]

  • 开启容器:docker start [container_id(容器 id)]

注:使用 docker 命令获取容器 id

  • 启动 docker 服务:systemctl start docker

  • 列出镜像:docker images

  • 列出容器:docker ps -a / docker container ls -a

  • 删除镜像:docker rmi [image_id]

  • 删除容器:docker rm [container_id]

在这里插入图片描述

如图,第一列 CONTAINER ID 字符就是容器 id,第二列 IMAGE 为镜像名称

(1)、查看镜像

  • docker search dvwa

在这里插入图片描述

(2)、下载镜像

  • docker pull citizenstig/dvwa

在这里插入图片描述

(3)、启动容器

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

在这里插入图片描述

(4)、访问,首先重新打开一个终端控制台,查看 ip

  • ipconfig

在这里插入图片描述

如图:查看 eth0 中的 ip 地址

(5)、本地浏览器输入 ip 地址:http://192.168.159.128/

在这里插入图片描述

(6)、输入账号密码,点击 Login

  • 账号:admin

  • 密码:password

在这里插入图片描述

(7)、如图,表示搭建成功

在这里插入图片描述

五、漏洞利用初探,修改 requests 请求参数远程执行命令

本地打开 cmd,输入 whoami。如图:admin 为此电脑的用户名

在这里插入图片描述

漏洞:网站原本给予我们的功能,我们突破了这个功能,执行的实现了其它一个功能;只要突破了网站的限制,达到未给予的功能

六、vulhub 搭建漏洞复现

1、docker-compose 是什么?

  • Docker Compose 是一个用来定义和运行复杂应用的 Docker 工具。一个使用 Docker 容器的应用,通常由多个容器组成。使用 Docker Compose 不再需要使用 shell 脚本来启动容器

2、安装

(1)、安装 pip(需要有 python3)

  • curl -s https://bootstrap.pypa.io/get-pip.py | python3

  • kali 默认有 python3,所以不需要安装 python3

在这里插入图片描述

如图:kali 输入 python3,会显示出 python 版本

在这里插入图片描述

(2)、安装 docker-compose

  • pip3 install docker-compose

  • sudo pip3 install docker-compose(备用命名)

在这里插入图片描述

注:如果报错使用:sudo pip3 install docker-compose

(3)、查看版本

  • docker-compose -v

在这里插入图片描述

(4)、下载 vulhub-master.zip 包

  • vulhub官网:https://vulhub.org/

  • 开启靶场容器:docker-compose up -d

  • 关闭靶场容器:docker-compose down

1)、进入 vulhub 官网,下载 vulhub-master.zip 压缩包

在这里插入图片描述

注:网站下载的压缩包有问题,可以上百度网盘上取

网盘获取地址:https://pan.baidu.com/s/1vwwid_t5Q-Ie-HgcjB2LJA?pwd=ue1e

提取码:ue1e

2)、下载后,将压缩包直接拉取或复制到 kali 中

在这里插入图片描述

(5)、解压 zip 包

  • unzip vulhub-master.zip

在这里插入图片描述

(6)、进入解压后的 vulhub-master 文件夹

  • cd vulhub-master

在这里插入图片描述

如图,vulhub-master 文件夹下有许多集成的漏洞;基于不同平台、基于不同组件、基于不同中间件等

(7)、开启靶场,例如 thinkphp,进入此目录下的 5.0.23-rce,目录下存在 docker-compose.yml 文件,才可以启动,如图

  • cd thinkphp

  • cd 5.0.23-rce

在这里插入图片描述

(8)、在路径下,使用 docker-compose up -d 命令启动靶场

  • docker-compose up -d

在这里插入图片描述

注:如图,路径下不存在 docker-compose.yml 文件,启动靶场会提示文件不存在

在这里插入图片描述

必须进入到有 docker-compose.yml 文件的目录下,才可以使用 docker-compose up -d 命令启动靶场

(9)、启动靶场后,使用命令查看全部启动的容器

  • docker ps

在这里插入图片描述

如图,可以看到启动的容器名,映射端口为8080

(10)、使用本地浏览器登录网站

注:如果不知道 ip,重新开一个终端控制台,可以使用 ifconfig 命令查看

在这里插入图片描述

在这里插入图片描述

(11)、关闭靶场

  • docker-compose down

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/676660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云服务器的虚拟化技术和资源隔离如何?是否支持私有云部署?

阿里云服务器的虚拟化技术和资源隔离如何&#xff1f;是否支持私有云部署&#xff1f;   一、阿里云服务器的虚拟化技术   阿里云服务器采用了业界领先的虚拟化技术&#xff0c;为用户提供了强大而灵活的计算性能。这主要体现在以下几个方面&#xff1a;   1.1 弹性伸缩 …

强化学习从基础到进阶-案例与实践[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战

【强化学习原理项目专栏】必看系列&#xff1a;单智能体、多智能体算法原理项目实战、相关技巧&#xff08;调参、画图等、趣味项目实现、学术应用项目实现 专栏详细介绍&#xff1a;【强化学习原理项目专栏】必看系列&#xff1a;单智能体、多智能体算法原理项目实战、相关技巧…

【CMake 入门与进阶(13)】 CMake如何设置交叉编译(附代码)

cmake如果不设置交叉编译&#xff0c;默认情况下&#xff0c;会使用主机系统&#xff08;运行 cmake 命令的操作系统&#xff09;的编译器来编译我们的工程&#xff0c;那么得到的可执行文件或库文件只能在 Ubuntu 系统运行&#xff0c;如果我们需要使得编译得到的可执行文件或…

javaWeb医药管理系统

一、引言 二、项目截图 2.1 首页设计 2.2一级页面设计 2.2-1注册界面 2.2-2管理员登录界面 2.3二级页面设计 药品信息模块 药品销售 用户信息 三、项目基本要求 1.主要功能 医药管理系统的主要功能为&#xff1a;、药品更新、药品查询 药品更新功能分为三部分&…

前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input

前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input&#xff0c; 下载完整代码请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13166 效果图如下&#xff1a; # cc-defineKeyboard #### 使用方法 使用方法 <!-- ref:唯一ref pas…

VMware vCenter Server 7.0 Update 3m 发布下载(重要安全更新)

VMware vCenter Server 7.0 Update 3m 发布下载&#xff08;重要安全更新&#xff09; 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-vcenter-7-u3/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org VMware vCente…

canvas详解07-裁剪

裁切路径 裁切路径和普通的 canvas 图形差不多,不同的是它的作用是遮罩,用来隐藏不需要的部分。如右图所示。红边五角星就是裁切路径,所有在路径以外的部分都不会在 canvas 上绘制出来。 如果和上面介绍的 globalCompositeOperation 属性作一比较,它可以实现与 source-in …

基于cycle of curves的Nova证明系统(2)

主要见斯坦福大学Wilson Nguyen、Dan Boneh和微软研究中心Srinath Setty 2023年论文《Revisiting the Nova Proof System on a Cycle of Curves》。 前序博客见&#xff1a; 基于cycle of curves的Nova证明系统&#xff08;1&#xff09; 5. IVC Proof进一步压缩 本文提出了…

【Rust】1、实战:语法和数据结构、生命周期-所有权-借用、自制 CPU、内存、文件

文章目录 零、Rust 好用的资源一、概述1.1 安全性1.1.1 垂悬指针1.1.2 数据竞争1.1.3 迭代器失效 1.2 性能1.3 vscode 設置 二、基础语法2.1 循环2.2 引用2.3 生命周期2.4 泛型2.5 实战grep项目2.6 数组2.6.1 数组和切片2.6.2 动态数组2.6.3 初始化 2.7 包含第三方库2.8 命令行…

深入理解深度学习——BERT(Bidirectional Encoder Representations from Transformers):输入表示

分类目录&#xff1a;《深入理解深度学习》总目录 相关文章&#xff1a; BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;&#xff1a;基础知识 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09…

【Linux】MySQL 高级 SQL 语句 (一)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 MySQL 高级 SQL 语句 MySQL 高级(进阶) SQL 语句SELECT&#xff1a;显示表格中一个或数个字段的所有数据记录DISTINCT&#xff1a;不显示重复的数据记录WHERE&#xff1a;有条…

CVE-2022-25411

文章目录 CVE-2022-25411一、漏洞介绍二、渗透步骤1、打开网站2、目录扫描3、访问后台4、添加文件后缀5、上传shell6、查看flag值 CVE-2022-25411 一、漏洞介绍 Maxsite CMS文件上传漏洞。 MaxSite CMS是俄国MaxSite CMS开源项目的一款网站内容管理系统。马克斯程序(MaxCMS)以…

【Syncfusion系列】SfDataGrid 轻松实现分页和Excel导出

前言 Syncfusion 封装了一个控件 SfDataGrid &#xff0c;通过SfDataGrid我们只需要 极少量 代码就能分页和Excel导出。 效果展示 包安装 安装下面三个包 将表格绑定到数据库 这次我使用的是一个本地的小型数据库&#xff1a;sqlit 我通过 sqlit-net 这个包 进行访问 sqlit…

Dify 基于 ChatGPT 构建本地知识库问答应用

一、Dify 自从 ChatGPT 横空出世之后&#xff0c;其极高的语言理解和交互能力不仅让人惊呼&#xff0c;ChatGPT不仅能够处理事实性问题&#xff0c;还能理解和生成情感色彩更浓厚的对话内容&#xff0c;能够识别用户的情感倾向&#xff0c;并据此作出相应的回应。这么好的东西…

Linux——文件基础IO的文件描述符和重定向理解

目录 前言&#xff1a; 首先来回顾一下open函数&#xff0c;即在进程中同时打开多个文件&#xff1a; Linux底层进程与文件的关系 &#xff1a; 2.1关闭stdin&#xff1a; 运行结果&#xff1a; ​编辑由结果知&#xff1a;fd1指向文本文件cyq.txt&#xff0c;原本fd1是默…

机器学习多步时间序列预测解决方案

近年来&#xff0c;随着机器学习与深度学习的发展机器学习平台的成熟&#xff0c;数据科学家们不再需要关心底层的基础设施及构建复杂的训练与推理环境&#xff0c;从而可以把主要的时间与精力放在数据与算法本身。在机器学习变得更容易的今天&#xff0c;越来越多的传统行业已…

HAL库——STM32CubeMX中断相关配置(中断反转LED状态)

STM32CubeMX中断相关配置 文章目录 STM32CubeMX中断相关配置1. 选择你要用的芯片(双击打开)2. 设置串口写入3. 配置时钟树&#xff0c;外部时钟为系统时钟&#xff08;PLL倍频时钟&#xff09;4. 查看原理图&#xff0c;找到可以中断控制的器件&#xff0c;或者外接小灯来达到中…

中国版chatGPT【文心一言】

文心一言是一款基于人工智能技术的中文自然语言处理工具&#xff0c;它可以用于文本生成、情感分析、关键词提取等多种应用场景。相比于GPT等其他自然语言处理模型&#xff0c;文心一言有着更多的优势。 首先&#xff0c;文心一言具有更高的准确率和可靠性。它采用了最新的深度…

Redis之RDB和AOF持久化原理解析

Redis之RDB和AOF持久化原理解析 一 RDB持久化原理及缺点 说明&#xff1a; 主进程是没法读取物理内存的&#xff0c;所以会在主进程有一个页表来读取物理内存中的数据子进程共享主进程的数据&#xff0c;会复制页表&#xff0c;写入磁盘中写操作是会拷贝一份在进行写操作 二…

【MySql】MySql事务隔离级别与一致性

文章目录 理解隔离性隔离级别查看与设置隔离性读未提交Read Uncommitted读提交Read Committed可重复读 Repeatable Read串行化serializable一致性(Consistency) 理解隔离性 MySQL服务可能会同时被多个客户端进程(线程)访问&#xff0c;访问的方式以事务方式进行 一个事务可能由…