kali中安装漏洞靶场Vulhub(超详细)
前言
我们都知道,在学习网络安全的过程中,搭建漏洞靶场有着至关重要的作用。复现各种漏洞,能更好的理解漏洞产生的原因,提高自己的学习能力。下面我在kali中演示如何详细安装漏洞靶场Vulhub。
什么是Vulhub?
Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。Vulhub的官方地址为www.vulhub.org。
安装docker
因为Vulhub是一个基于docker和docker-compose的漏洞环境集合,所以,第一步我们需要安装docker,切换成root用户,象征性的更新一下软件,输入如下命令
apt-get update
安装https协议、CA证书
apt-get install -y apt-transport-https ca-certificates
安装docker
apt install docker.io
等待几分钟,查看版本,是否安装成功。
docker -v
启动docker
systemctl start docker
显示docker信息
docker ps -a
安装pip
apt-get install python3-pip
安装docker-compose
pip3 install docker-compose
查看docker-compose版本
docker-compose -v
下载Vulhub
这个下载速度有点慢,差不多需要一两个小时,执行这条命令下载。
git clone https://github.com/vulhub/vulhub.git
下载成功后,进入到vulhub目录( cd vulhub ),通过 ls 命令查看漏洞靶场。
下面,随便进入一个目录,
cd /vulhub/flask/ssti
启动环境
docker-compose build //可选
docker-compose up -d
查看启动环境,发现端口是8000
docker-compose ps
浏览器访问,启动成功
docker-compose会默认根据当前目录下的配置文件启动容器,在关闭及移除环境的时候,也需要在对应目录下。我们执行docker-compose up -d后,不要离开当前目录即可,漏洞测试结束后,执行如下命令移除环境:
docker-compose down
完工!
- BZOJ 2793: [Poi2012]Vouchers(调和级数)
- 3891: [Usaco2014 Dec]Piggy Back
- Java8-如何构建一个Stream
- 2016: [Usaco2010]Chocolate Eating
- javascript 闭包详解
- 3016: [Usaco2012 Nov]Clumsy Cows
- POJ 3207 Ikki's Story IV - Panda's Trick(2-SAT)
- 3359: [Usaco2004 Jan]矩形
- 漫谈Java IO之 Netty与NIO服务器
- Java线程的几种状态
- POJ3683 Priest John's Busiest Day(2-SAT)
- javascript 面向对象(实现继承的几种方式)
- Base64 的 JavaScript 实现 js-base64
- HTTP请求详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Oracle中ascii为0的陷阱
- VBA解析VBAProject 05——提取模块代码
- VBA解析VBAProject 06——清除VBA工程密码
- VBA解析VBAProject 07——隐藏模块
- python测试开发django-83.Dockerfile部署django项目
- python测试开发django-82.线上部署设置DEBUG=FALSE
- BCEL ClassLoader去哪了
- python接口自动化35-r.html.render() 下载无反应问题解决
- 源码编译搭建Spark3.x环境
- 搭建Hive3.x并整合MySQL8.x存储元数据
- MySQL binlog_error_action分析
- docker(数据卷容器)
- Python炫技操作:模块重载的五种方法
- 一文搞定 Eureka 集群高可用配置
- SpringBoot三招组合拳,手把手教你打出优雅的后端接口