使用pwn_deploy_chroot部署国赛pwn比赛题目
使用pwn_deploy_chroot部署国赛pwn比赛题目
一、前言
最近打国赛,需要build,组内大佬们决定build pwn题,于是啥也不会的我就去看docker了。但是自己从头看docker、dockerfile有点困难,最后找到一个工具pwn_deploy_chroot,很方便的完成了docker搭建。
二、Docker
Docker是一种容器,可以理解为轻量级虚拟机,由于占用的资源少,可以同时开启很多个docker,所以很适合来做ctf题目的容器。
我参考的是这篇博客这可能是最为详细的Docker入门吐血总结,关于docker的概念和基本用法大佬讲的很详细了。
由于我在ubuntu上安装,参考官方文档Get Docker CE for Ubuntu,一步一步照着做就行。
三、部署镜像
首先要下一个镜像,然后使用sudo cat ubuntu-16.04-x86_64.tar.gz |docker import - ubuntu:16.04导入。不过好像如果dockerfile里面有FROM ubuntu:16.04这种语句的话,docker会自己从官方镜像源帮你下,之后可以用docker images查看当前已有的镜像。

四、pwn_deploy_chroot
完全自己搭建环境太难了。。幸好找到了大神的工具,没错就是pwn_deploy_chroot,参考博客如何安全快速地部署多道 ctf pwn 比赛题目。
因为我们已经安装好了Docker,所以接下来安装docker compose 和 git
apt install docker-compose git
把仓库克隆到本地
git clone https://github.com/giantbranch/pwn_deploy_chroot.git
这是我最终的目录结构,其中docker-compose.yml、Dockerfile、flags.txt、pwn.xinetd都是运行initialize.py后自动生成的,check和exp都是官方给的。

要使用这个工具,我们只需要 3 步:
1、将所有 pwn 题目放入 bin 目录(注意名字不带特殊字符,因为会将文件名作为 linux 用户名)
2、python initialize.py
3、docker-compose up --build -d
它会自动部署pwn题,端口默认从10000依次增加。
因为国赛要求端口是8888,所以我们要修改一下config.py,把这里的10000改成8888,然后把官方测试用的pwn放到bin里

运行initialize.py

会出现生成的flag、端口和文件名。
接下来启动环境
docker-compose up --build -d
显示done,用netstat -antp | grep docker查看,确认完成

可以进入image去玩玩,先sudo docker ps查看当前运行着的容器,然后sudo docker exec -ti fa53dbfdb6b7 bash进入

五、check && exp
输入ifconfig查看docker的ip,尝试用nc连

最后用官方给的check和exp来验证是否正确

成功跑出flag!接下来只要把我们自己出的pwn题放进bin,重复以上步骤就可以了。
六、参考链接
这可能是最为详细的Docker入门吐血总结
如何安全快速地部署多道 ctf pwn 比赛题目
Docker 创建镜像、修改、上传镜像
ctf pwn出题和搭建环境
使用pwn_deploy_chroot部署国赛pwn比赛题目的更多相关文章
- 【备考06组01号】第四届蓝桥杯JAVA组A组国赛题解
1.填算式 (1)题目描述 请看下面的算式: (ABCD - EFGH) * XY = 900 每个字母代表一个0~9的数字,不同字母代表不同数字,首位不能为0. 比如 ...
- 湘潭邀请赛+蓝桥国赛总结暨ACM退役总结
湘潭邀请赛已经过去三个星期,蓝桥也在上个星期结束,今天也是时候写一下总结了,这应该也是我的退役总结了~ --------------------------------湘潭邀请赛----------- ...
- 第九届蓝桥杯国赛+第二天的第11届acm省赛的总结
第九届蓝桥杯国赛+第二天的第11届acm省赛的总结 25号坐的去北京的火车,10个小时的火车,然后挤了快两个小时的地铁,最终达到了中国矿业大学旁边的订的房间.12个小时很难受,晕车症状有点严重,吃了快 ...
- 2018年第九届蓝桥杯国赛总结(JavaB组)
懒更,之前的删了补一个国赛总结 记yzm10的第一次国赛(赛点:首都经贸大学) 第一次就拿到了国一,运气不要太好~(同组lz学长豪取国特orz) 从省赛一路水过来,总算有了点成绩.其实最后一题有些遗憾 ...
- 国赛baby_pwn
国赛baby_pwn-ret2_dl_runtime_resolve之ELF32_rel,Elf32_sym,伪造 0x01 ELF文件的动态链接之延迟绑定 在动态链接下,程序模块之间包含了大量的函数 ...
- 2019第十届蓝桥杯省赛及国赛个人总结(java-B组)
省赛: 今年省赛的题目比18年简单的多,基本都是暴力枚举.BFS之类.还记得去年在山师考蓝桥杯,我这种辣鸡连题目都没看懂.本以为蓝桥会变得越来越难,没想到今年就被打脸了.今年省赛后面三个编程大题一个没 ...
- Python小白的数学建模课-A1.国赛赛题类型分析
分析赛题类型,才能有的放矢. 评论区留下邮箱地址,送你国奖论文分析 『Python小白的数学建模课 @ Youcans』 带你从数模小白成为国赛达人. 1. 数模竞赛国赛 A题类型分析 年份 题目 要 ...
- 2018年数学建模国赛B题 智能RGV的动态调度策略
第一种情况大致思路: 每秒判断各个CNC的状态,若工作完成或者是出于空闲状态下则向RGV发出一个请求.同时,RGV每秒判断自己的状态(上下料.移动.闲置.清洗等),如果是处于闲置状态,则启用调度算法, ...
- 一道仅有7人通过的超5星微软比赛题目-------解题思路&优秀代码分享,邀你来“找茬儿”
6月23日英雄会平台发布了一道难度为超5星的微软比赛题目,截止活动结束共有300多名编程爱好者参与线上答题,而最终通过者仅有7人,通过率仅为2%.为什么成绩如此出人意料?是因为题目的英文描述难以理解? ...
随机推荐
- 【转载】 C#中使用float.Parse方法将字符串转换为Float类型
在C#编程过程中,很多时候涉及到数据类型的转换,例如将字符串类型的变量转换为单精度Float类型就是一个常见的类型转换操作,float.Parse方法是C#中专门用来将字符串转换为float类型的,f ...
- JavaScript 相关的工具代码
博客地址:https://ainyi.com/49 记录一些数据处理需要的方法工具代码 持续更新中... 时间戳转与日期格式相互转换 时间戳转换成日期格式 function timestampToTi ...
- appium自动化webview时遇到的chromedriver问题
安卓app里面的网页,基本上都是使用手机系统上的webview 去显示的. 安卓 webview 可以看成是 手机上的 chrome 浏览器精简版. appium desktop 里面内置了 用于 w ...
- 大数据集群环境搭建之一 Centos基本环境准备
首先需要准备的软件都有:Centos系统.SecureCRT 8.5.VMware Workstation Pro.jdk-8u172-linux-x64.tar.gz基本上这个软件就是今天的战场. ...
- Eclipse上Maven环境配置使用
1. 安装配置Maven: 1.1 从Apache网站 http://maven.apache.org/ 下载并且解压缩安装Apache Maven. Maven下载地址: http://maven. ...
- Linux 磁盘配额(XFS & EXT4)
若是在Linux中搭建了FTP服务器,为了安全性,就要考虑磁盘配额,以防服务器磁盘空间被恶意占满. 磁盘配额概述 1.作用范围:只在指定的分区有效. 2.限制对象:主要针对用户.组进行限制,对组账号限 ...
- GNS3、Wireshark、SecureCRT 环境部署
本次GNS3环境部署教程基于官方推荐的稳定版1.5.4.初次接触此软件,详细的使用方法不是很清楚,所以以此作为学习记录,仅供参考,后期补充. 软件介绍 GNS3 GNS3是一款具有图形化界面可以运行在 ...
- 程序员的选房神技,GitHub上的房源爬虫
买房,在中国是任何一个年轻人都绕不开都话题.特别是在当下限购摇号等多重政策打压的情况,要选到一个自己心仪的房子可谓难度不小. 而且,伴随着房价上涨的还有房租.买不起房的,想要租个合适的小窝也不容易啊! ...
- SQL进阶系列之7用SQL进行集合运算
写在前面 集合论是SQL语言的根基,因为这种特性,SQL也被称为面向集合语言 导入篇:集合运算的几个注意事项 注意事项1:SQL能操作具有重复行的集合(multiset.bag),可以通过可选项ALL ...
- TCN时间卷积网络——解决LSTM的并发问题
TCN是指时间卷积网络,一种新型的可以用来解决时间序列预测的算法.在这一两年中已有多篇论文提出,但是普遍认为下篇论文是TCN的开端. 论文名称: An Empirical Evaluation of ...