PWN题目部署
虚拟化
- wine、wsl:兼容层
- qumu、kvm、qemu-kvm
- 内核编译运行调试(qemu)、企业级
安装Docker
- 此处省略参考文章Docker概述与安装 | iyheart的博客
PWN题目部署
xinetd部署pwn题
下载ctf_xinetd
- 先使用git命令,将ctf_xinetd从github上克隆下来
1 | git clone https://github.com/Eadom/ctf_xinetd |
- 下载好后,在Ubuntu下的根目录,就会出现ctf_xinetd文件
配置ctf_xinetd
- 进入到ctf_xinetd文件里面去,会发现下面三个红色框的文件,这三个是需要进行配置的文件
- 配置bin文件
- 进入bin文件后,查看bin文件目录,会发现有俩个,一个是flag,一个是ret2text
- flag里面存放的就是flag,可以根据你设定的flag,进入里面修改flag.
-
ret2text(一开始是helloworld,这里被我改过了)就是pwn的题目了,如果要部署题目,就把ret2text删除,将题目文件移动到该目录下
-
本人使用的是wsl,可以直接在Windows下移动文件,比较方便
-
将文件移动到该目录下后,就在该目录下对文件进行提权
1 | chmod 750 ret2text |
- 配置ctf.xinetd
- 先进入ctf.xinetd文档
- 将port该为80端口
- 将./ret2text该为你的程序名**(./保留)**
- 编辑Dockerfile
- 将下面红框部分改为80
创建容器
- 接下来使用docker创建题目的镜像
- 注意下面的命令结尾个空格加一个点
1 | docker build -t "ret2text" . |
- 接下来利用该镜像启用一个容器
- 这里的ret2text更改成之前放置pwn程序的程序名,8110可以换成一个没有在使用的端口。
1 | docker run -d -p "0.0.0.0:8110:80" -h "ret2text" --name"ret2text" ret2text |
- 启动成功后可以使用
docker ps
命令查看容器
检查是否部署成功
- nc一下,看一看程序是否能正常运行起来。(看来没问题)
- 使用exp打一下,如果能成功得到flag,那就说明没有问。这里建议先用,刚从仓库拉取下来,ctf_xinetd自带的helloworld程序试一下。
- 这里为了更好的演示我就换成了helloworld
- 下图表面可以得到flag,说明题目部署的有效
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 iyheart的博客!
评论