使用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%.为什么成绩如此出人意料?是因为题目的英文描述难以理解? ...
随机推荐
- jsonpath_rw操作json
from jsonpath_rw import parse def get_key_from_data(key,data): # 定义匹配规则 json_expr=parse(key) result= ...
- Django:实现读写分离
库的配置 1.读写分离 settings配置 #settings.py 配置库信息,生成2个库 DATABASES = { 'default': { 'ENGINE': 'django.db.back ...
- 使用vue-router在页面之间传值及接收值
第一页 点击去第二页的时候进行传值直接贴代码看: <template> <div id="app"> <div><router-link ...
- ubuntu16.04安装openssh中报错解决
在使用apt-get直接进行安装时会报错: sudo apt-get install openssh-server 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态 ...
- Solr基础知识二(导入数据)
上一篇讲述了solr的安装启动过程,这一篇讲述如何导入数据到solr里. 一.准备数据 1.1 学生相关表 创建学生表.学生专业关联表.专业表.学生行业关联表.行业表.基础信息表,并创建一条小白的信息 ...
- maven学习笔记五(仓库搭建,私服配置)
实际项目中,我们往往都是多人开发,这个时候,假如一个项目有300多M.用的jar包有100多个.只要项目组来一个人就从中央仓库下载依赖的jar,这种下载一般都需要持续很久.而且中央仓库一般都是配置在外 ...
- H3C Short GI
- Eclipse经常出现未响应问题
修改eclipse.ini文件 -startupplugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar--launcher.libr ...
- CSS制作华为mate8手机模型示例
CSS制作华为mate8手机模型效果图 1.HTML代码 <!DOCTYPE html> <html> <head> <meta charset=" ...
- 【实战3】记一次内网中反弹shell的艰难历程
# 0x00 前言 最近在客户现场对内网服务器进行渗透测试,发现了大量的弱口令,本次历程就是从这里开始··· # 0x01 弱口令 对目标ip进行端口扫描,开放端口为80,445,1433,3389- ...