用docker搭建简易ctf题目

  • Post author:
  • Post category:其他


在此记录一下新手第一次使用docker搭建简易ctf环境。

基础的docker命令也不在多说,在此非常推荐黑马程序员的docker教程,很通俗易懂。

拉镜像

搭建题目自然少不了web服务器环境,这里使用lamp镜像,(L代表Linux,a代表apache,m代表mysql,而p代表php)使用docker search lamp命令,发现有很多种,我们用tutum/lamp。

使用命令docker pull tutum/lamp下载镜像,下载完成后使用docker images查看镜像是否下载完成

看来已经下载好了。

创建容器

使用命令docker run -d -p 2333:80 tutum/lamp,相当于给镜像实例化了。(其中-d表示在后台运行,-p表示映射的端口)

注意自己要使用的端口是否被开放。

看样子是成功了,访问一下。

看样子是成了。

copy源码

在本服务器创建/var/www/html目录,在该目录下编写简单测试代码,编写index.php,

同样的,我们需要再写一个flag.php。

这样源码的编写就完成了,接下来就是将源码copy到容器的/var/www/html目录下,使用命令docker cp /var/www/html/index.php 1e2a37f7d5a5:/var/www/html/,同样的,复制flag文件也是这样的命令。我们可以使用命令docker exec -it 1e2a37f7d5a5 bash进入到容器里。查看一下flag文件和index.php是否存在。

看来copy成功了。

测试

重新访问ip,出现题目源码了。

那就打一下payload,

?aa=%0awe_are_wondefful%23

发现可以成功得出flag。

本次简易的ctf题目搭建就此结束。

之后会根据需求学习docker搭建更复杂的ctf环境。



版权声明:本文为m0_62422842原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。