学习搭建一个简单题
前言
关于用docker出题的文章实在是太少了,所以自己在学习的时候记录一下
docker的一些基本搭建在这里就不一一说明了,这里只记录一下如何把一个题目弄出来,可能有些地方也有错误
进入主题
按我自己的理解就是先拉取一个镜像用来布置题目所需的环境以及容器所需
我这里使用ctftraining/base_image_nginx_mysql_php_73
这个镜像一开始我用的tutum/lamp
但是发现这个镜像有点问题不能显示中文,可能是dockerfile没设置
拉取镜像docker pull ctftraining/base_image_nginx_mysql_php_73
这里我已经拉取了,所以列一下
然后使用ctftraining/base_image_nginx_mysql_php_73镜像启动一个容器,同时映射到服务器的2333端口 docker run -d -p 2333:80 ctftraining/base_image_nginx_mysql_php_73
可以看到已经启动了一个容器,然后就是弄出题文件了,先上传到服务器的/var/www/html下
一个简单的抓包查看源码的题,因为主要是学习怎么布置一个题目,所以直接到网上找的一个源码
1 | <p style="font-family:arial;color:black;font-size:20px;text-align:center;">Flag不在这里哦</p> |
然后把题目的源码从服务器copy到容器中docker cp /var/www/html/index.php 603788:/var/www/html/
容器id不用写全只要能识别出来就行,执行之后访问就行
访问服务器ip:2333
布置成功
然后抓包得到flag
然后就是dockerfile和docker-compose.yml的编写,用来快速本地部署和动态flag实现等,这里就先不写了,当然那个也是很重要的东西
最后这里列一下我最近经常用的命令
1 | exit //退出容器 |
参考:
CTF Web出题感悟_Wuuconix的博客-CSDN博客_ctf web出题
用docker搭建简易ctf题目_XiLitter的博客-CSDN博客_ctf题目docker