0x00 Why

为什么要搞服务器,为什么要学Docker,为什么要自己搭建靶场?这些都是基本功,逃避是没有用的。

0x01 买服务器

我买的是阿里云的服务器,贴个官网链接:阿里云-计算,为了无法计算的价值 (aliyun.com)

0x02 部署Docker

推荐教程:最详细的ubuntu 安装 docker教程 - 知乎 (zhihu.com)

一. 卸载Ubuntu自带的Docker

以下操作最好用管理员

注:docker的旧版本不一定被称为docker,http://docker.io 或 docker-engine也有可能,所以我们卸载的命令为:

1
$ apt-get remove docker docker-engine docker.io containerd runc

如果报错也正常,有些Ubuntu没有Docker,直接下一步。

二. 安装Docker及相关配置

· 更新软件包和已安装的软件的版本:

1
2
apt update
apt upgrade

· 安装Docker依赖:

Docker在Ubuntu上依赖一些软件包。执行以下命令来安装这些依赖:

1
apt-get install ca-certificates curl gnupg lsb-release

· 添加Docker官方GPG密钥

执行以下命令来添加Docker官方的GPG密钥:

1
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

· 添加Docker软件源

1
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

· 安装Docker(可算进入正题了)

1
apt-get install docker-ce docker-ce-cli containerd.io

· 配置用户组

默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。命令如下:

1
usermod -aG docker $USER

注:重新登录才能使更改生效。

· 运行Docker

启动一下Docker看看有没有安装成功

1
systemctl start docker

· 安装工具(执行指令即可,原理我也不懂)

1
apt-get -y install apt-transport-https ca-certificates curl software-properties-common

· 重启Docker

1
service docker restart

· 验证是否成功

1
docker run hello-world

因为我们之前没有拉取过hello-world,所以运行命令后会出现本地没有该镜像,并且会自动拉取的操作。

· 查看镜像(image)

1
docker images

出现了hello-world的镜像即可

至此Docker部署成功,看推荐文章更好。

0x03 搭建DVWA靶场

推荐文章:https://juejin.cn/post/7076807703565336612

一. 准备工作

开端口:

打开控制台,安全组的管理规则开一个端口,假设为1314。然后连上服务器(我使用xshell)

启动Docker:

1
systemctl start docker

二.拉取image

找image(镜像)

1
docker search dvwa

但是政策下来,指令有所改变(镜像站不暴露):

1
docker pull mirror.xxxx.club/citizenstig/dvwa 

三. 布置容器

1
2
3
4
5
docker images  //查看镜像
docker run --name Dvwa -d -p 1314:80 citizenstig/dvwa //布置容器
-p:指定映射端口
-d:后台运行
--name:容器命名为XXX

我端口是1314,后面的80不能改,容器里的php服务默认跑在80端口。

四. 后续

在网页上打开,创建数据库,账户密码输入admin,password即可。

0x04搭建CTF题目环境

一. 上传项目到服务器

个人使用WinSCP,优点是可视化比较好,微软的可视化一向比较nice。自己mkdir一个目录储存项目即可。

二. 构建Docker镜像

Dockerfile 所在目录下,打开终端或命令提示符,执行以下命令来构建 Docker 镜像:

1
docker build -t your-app-name .

这里的 your-app-name 是你给你的 Docker 镜像起的名字,. 指的是当前目录,即 Dockerfile 所在的目录。

三. 运行Docker容器

镜像构建成功后,执行以下指令创建容器:

1
docker run --name [取个名字] -d -p 1234:80 your-app-name

四.后续

登录网页即可验证。

0x05 删除容器和镜像

· 先删除正在运行的容器

查看正在运行的容器:

1
docker ps

停止正在运行的容器:

1
docker stop <容器ID或名称>

删除目标容器:

1
docker rm  <容器ID或名称>

· 再删除目标镜像

查看镜像:

1
docker images

删除镜像:

1
docker rmi IMAGE_ID