ctf pwn题目的部署


建议:使用最后一种方式部署

使用socat部署

安装

apt install socat

模板:socat tcp-listen:port,fork exec:./程序名,reuseaddr

实例:socat tcp-listen:10001,fork exec:./pwn1,reuseaddr

缺点:需要控制好权限;存在各种风险,不建议使用

使用pwn_deploy部署

https://github.com/giantbranch/pwn_deploy

项目基于docker和xinetd
项目主要根据bin目录的文件,动态生成flag,xinetd配置文件,Dockerfile和docker-compose.yml
程序都是放在家目录,通过权限控制不能进入别人的家目录,同时不能修改或删除二进制程序和flag文件

使用

  1. 将所有pwn题目放入bin目录(注意命名)
  2. python initialize.py
  3. docker-compose up --build -d

这个部署方式并不太安全,只是基于权限控制

请使用: https://github.com/giantbranch/pwn_deploy_chroot

使用pwn_deploy_chroot部署

https://github.com/giantbranch/pwn_deploy_chroot

项目基于docker,xinetd和chroot,更加安全

相对上面,基本相同,不同的是 使用chroot更加安全

也是3步:

  1. 将所有pwn题目放入bin目录(注意命名)
  2. python initialize.py
  3. docker-compose up --build -d
原文地址:https://www.cnblogs.com/cnsec/p/13286482.html