docker简单入门


1.kali Linux 安装docker

依次运行命令:

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

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

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

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

apt-get update

apt-get install docker-ce

测试:

service docker start

docker version

2.利用docker复现Web题

Web题来源

https://github.com/CTFTraining/CTFTraining

1.准备docker-compose

在终端运行

apt-get install docker docker-compose

安装完成

2.下载所需复现题目

终端运行:

git clone + 网址 + 本地目录
例如:git clone https://github.com/CTFTraining/0ctf_2016_unserialize.git /root/文档/CTF-WEBti/

3.题目搭建过程

在题目文件夹内打开终端

service docker start
docker-compose build
docker-compose up -d
查看:
docker ps

以一道HECTF的题为例

EDGNB

docker run -it moth404/edgnb

进入容器,查看目录,发现flag,读取,flag文件为空,结合上面的touch显示结果(一堆flag文件)
查看docker history,容器构建记录

docker history moth404/edgnb --no-trunc=true
 
在命令后加--no-trunc 显示完整的提交记录,
可以得到 FLAG=HECTF{EDGnb!EDGnb!!EDGnb!!!EDGnbnbnb}