记录一次简单的docker开设web靶场
前期准备:
一台云服务器(这里用到了舍友的服务器==)
docker环境
正文:
首先自我认识什么是docker,docker就像是一个装水的杯子,在这里把里面的水叫做镜像,我们需要先下载好镜像,当运行镜像时,docker会先在本地寻找所要打开的镜像,如果找不到就会自动从docker镜像仓库下载。
这里我已经提前配置好了docker环境 上网一搜有很多安装教程
docker version
查看版本信息
docker search lamp
查找lamp堆栈镜像
LAMP 堆栈是开发人员用来构建网站和 Web 应用程序的四种不同软件技术的捆绑包。
LAMP 是操作系统 Linux、Web 服务器 Apache、数据库服务器 MySQL 和编程语言 PHP 的首字母缩写
docker pull tutum/lamp
下载tutum/lamp版本的
docker iamges
下载好之后查看本地镜像
将镜像实例化 需要分配服务器的端口 这里要在服务器管理页面给开放一个端口(比如阿里云或者腾讯云的控制台)
docker run -d -p 9999:80 tutum/lamp
这里我分配的是9999端口
docker ps
查看当前运行的容器,看到了我们刚刚启动的容器
docker ps -a
是查看所有的容器,包括当前不运行的
这里注意一下,区分镜像和容器的区别,一个镜像可以开很多个容器,用容器id来区分相同镜像实例化产生不同的容器,这里还是要注意记录一下自己在用的容器id,以免误删了,整个容器中的你已经弄好的文件都会被删除。
docker exec -it 1c0d6146aa65 bash
进入我们刚刚实例化好的容器里面
exit
退出当前所在的容器
接下来就是在/var/www/html文件下的index.php下提交web题目的源码,然后在根目录下创建flag的文件,一个简单的web靶场复现环境就创建好了,接下来就可以愉快的复现题目了!
这里我放了一个测试php代码和根目录下的flag文件:
还有就是这个lamp开的容器内是没有vim编辑环境的,如果直接想在容器内写代码的话,可以在容器内安装vim编辑器。
浏览器访问:124.221.177.174:9999
成功一个简单的web靶场就搭建好了!
如果想关闭容器,注意这里不是删除镜像文件,只是关闭这个镜像实例化的一个容器。
docker stop 容器id
关闭容器
docker start 容器id
打开容器
docker rm 容器id
删除容器
结尾:
这里步骤截图放的图片暴露了服务器的外网ip和一些其他信息,大佬不要渗透我啊,这里只是一个热爱ctf的小菜鸡的一次记录罢了,在线求饶QWQ