使用socat部署
安装
1 | 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文件
使用
- 将所有pwn题目放入bin目录(注意文件名不要带特殊字符)
- python initialize.py
- 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,更加安全
相对上面的pwn_deploy,使用chroot更加安全
而且用自己写的catflag程序作为/bin/sh程序,这就将安全性提升一步了
使用步骤也是3步:
- 将所有pwn题目放入bin目录(注意文件名不要带特殊字符)
- python initialize.py
- docker-compose up –build -d