vulhub漏洞环境
0x00 vulhub介绍
Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。
大哥你等会,你刚才讲的docker我听了个大概,这docker-compose又是啥啥啥啊?docker-compose是用python写的一个一个docker容器管理工具,可以一键启动多个容器、可以一键日卫星。。。。。。
咱们要先下载漏洞镜像,然后再配置端口映射运行,或者有其它操作,把所有的这些操作都写在docker-compose的配置文件里,我们就可以运行docker-compose来一键执行这些操作,说白了就是方便操作的。
如图所示,左侧是vulhub已经做好的漏洞镜像,右侧则是漏洞介绍与漏洞利用过程。

0x01 vulhub安装
1.安装docker
这里大家可以参考我的“docker学习”部分的随笔
2.安装docker-compose
这里有两种安装方式:
第一种:
pip install docker-compose
ps:说实话我不建议这种安装方式,因为存在很多问题
运行以下命令以下载 Docker Compose 的特定版本:
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
要安装其他版本的 Compose,请替换1.25.5
然后进行授权
$ sudo chmod +x /usr/local/bin/docker-compose
然后再创建软链
创建软链,这样我们就可以在任意目录下使用docker-compose命令啦
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
最后我们进行验证
$ docker-compose --version
出现如下字样则说明你的docker-compose安装成功啦!
$ docker-compose version 1.25.5, build xxxxx

3.配置docker加速
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
4.下载vulhub漏洞目录
git clone https://github.com/vulhub/vulhub.git
5.如何使用
进入相应漏洞文件夹执行docker-compose up -d即可
示例:
cd ~/vulhub/flask/ssti/ docker-compose up -d

还有就是运行docker-compose up -d命令你的可能是这种结果

这是因为你得将/ect/docker/daemon.json文件内容换成国内的源,如阿里云的
{
"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
}
然后重启docker服务
systemctl daemon-reload
systemctl restart docker
再执行以上命令,就会重新拉取镜像


如图所示,漏洞环境就这样一键搭建成功,节省了一大把时间,我们可以更专注于漏洞研究,漏洞环境使用完成记得关闭哦!
docker-compose down
vulhub漏洞环境的更多相关文章
- ubuntu搭建vulhub漏洞环境
0x01 简介 Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译.运行一个完整的漏洞靶场镜像.旨在让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身. ...
- Linux实战笔记__Ubuntu20.04上搭建Vulhub漏洞环境
安装python3和pip3 安装docker 安装docker-compose 上传解压vulhub-master.zip 启动漏洞环境 进入某漏洞目录,执行docker-compose up -d ...
- vulhub漏洞环境搭建
(搭建之前建议更换成阿里的源) 在纯净ubuntu中部署vulhub环境: 1.安装docker,并用docker -v命令验证安装结果: curl -s https://get.docker.com ...
- 在MacOS上搭建Vulhub漏洞平台环境
一.安装python3和docker brew install python3 brew cask install docker sudo pip3 install docker-compose 二. ...
- kali docker简单使用-vulhub搭建fastjson漏洞环境
准备环境 安装kali和docker参考: https://www.cnblogs.com/lijingrong/p/13396884.html sudo service docker start / ...
- KALI搭建Docker+Vulhub漏洞复现环境
在学习网络安全的过程中,少不了的就是做漏洞复现,而漏洞复现一般比较常用的方式就是使用docker-vulhub进行环境搭建,我近期也遇到了这个问题,但是网上的教程特别混乱,根本起不到帮助作用,即使有可 ...
- Docker入门以及漏洞环境搭建(10.23 第二十五天)
Docker:开源的应用程序容器引擎,使用Go语言.借助于docker打包的应用程序,将这些应用程序 包含在容器里面,在容器中实现虚拟化,容器使用的是沙箱机制,相互独立,占用资源非常少. Docker ...
- 用VulApps快速搭建各种漏洞环境
项目主页 https://github.com/Medicean/VulApps 项目介绍 收集各种漏洞环境,统一采用 Dockerfile 形式.DockerHub 在线镜像地址 获取并使用相关镜像 ...
- 漏洞复现:Struts2 S2-032 漏洞环境
Struts2 S2-032 漏洞环境 http://vulapps.evalbug.com/s_struts2_s2-032/ POC: http://127.0.0.1/memoindex.act ...
随机推荐
- java实现excel表格导入数据库表
导入excel就是一个上传excel文件,然后获取excel文件数据,然后处理数据并插入到数据库的过程 一.上传excel 前端jsp页面,我的是index.jsp 在页面中我自己加入了一个下载上传文 ...
- 【解决了一个小问题】gin框架中出现如下错误:"[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 400 with 500"
POST到数据到一条gin框架的接口后,客户端收到400错误,并且返回了业务中返回的"decode json fail". 关键代码是: func report(c *gin.Co ...
- unity3d之sokect通信
using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using S ...
- golang中gomodule讲解
0. GOMODULES模式 1. GOPATH的缺点 1. 无版本控制概念 2. 无法同步一致第三方版本号 3. 无法指定当前项目引用的第三方版本号 2. go1.11版本之后可以使用GoModul ...
- gin中如何记录日志和错误日志
package main import ( "github.com/gin-gonic/gin" "io" "os" ) func main ...
- ICLR2021对比学习(Contrastive Learning)NLP领域论文进展梳理
本文首发于微信公众号「对白的算法屋」,来一起学AI叭 大家好,卷王们and懂王们好,我是对白. 本次我挑选了ICLR2021中NLP领域下的六篇文章进行解读,包含了文本生成.自然语言理解.预训练语言模 ...
- 【然天一】随机读写(4k)百盘天梯
随机读写适用于大量小文件的读写,是最贴近办公和编程的使用场景.现在很多硬盘厂商只宣传它们的连续读写(Seq),但除了游戏和视频剪辑场景之外并没有什么卵用. 总结一下: 傲腾秒杀全部 NAND SLC ...
- 「JOISC 2016 Day 1」棋盘游戏
「JOISC 2016 Day 1」棋盘游戏 先判无解:第1,3行有连续的空格或四个角有空格. 然后可以发现有解的情况第1,3行可以在任意时间摆放. 对于某一列,若第2行放有棋子,那么显然可以把棋盘分 ...
- CF1399F Yet Another Segments Subset
首先注意一下题面要求,使得选出的线段两两要么包含要么不相交,也就是说一条线段可能会出现不相交的几条线段,而这些线段上面也可能继续这样包含线段.然后我们可以发现我们要做的实际上是在这条线段上选取几条线段 ...
- js-小知识点
强类型定义语言和弱类型定义语言1)强类型定义语言: 强制数据类型定义的语言.也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了.举个例子:如果你定义了一个整型 ...