使用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比赛题目的更多相关文章

  1. 【备考06组01号】第四届蓝桥杯JAVA组A组国赛题解

    1.填算式 (1)题目描述     请看下面的算式:     (ABCD - EFGH) * XY = 900     每个字母代表一个0~9的数字,不同字母代表不同数字,首位不能为0.     比如 ...

  2. 湘潭邀请赛+蓝桥国赛总结暨ACM退役总结

    湘潭邀请赛已经过去三个星期,蓝桥也在上个星期结束,今天也是时候写一下总结了,这应该也是我的退役总结了~ --------------------------------湘潭邀请赛----------- ...

  3. 第九届蓝桥杯国赛+第二天的第11届acm省赛的总结

    第九届蓝桥杯国赛+第二天的第11届acm省赛的总结 25号坐的去北京的火车,10个小时的火车,然后挤了快两个小时的地铁,最终达到了中国矿业大学旁边的订的房间.12个小时很难受,晕车症状有点严重,吃了快 ...

  4. 2018年第九届蓝桥杯国赛总结(JavaB组)

    懒更,之前的删了补一个国赛总结 记yzm10的第一次国赛(赛点:首都经贸大学) 第一次就拿到了国一,运气不要太好~(同组lz学长豪取国特orz) 从省赛一路水过来,总算有了点成绩.其实最后一题有些遗憾 ...

  5. 国赛baby_pwn

    国赛baby_pwn-ret2_dl_runtime_resolve之ELF32_rel,Elf32_sym,伪造 0x01 ELF文件的动态链接之延迟绑定 在动态链接下,程序模块之间包含了大量的函数 ...

  6. 2019第十届蓝桥杯省赛及国赛个人总结(java-B组)

    省赛: 今年省赛的题目比18年简单的多,基本都是暴力枚举.BFS之类.还记得去年在山师考蓝桥杯,我这种辣鸡连题目都没看懂.本以为蓝桥会变得越来越难,没想到今年就被打脸了.今年省赛后面三个编程大题一个没 ...

  7. Python小白的数学建模课-A1.国赛赛题类型分析

    分析赛题类型,才能有的放矢. 评论区留下邮箱地址,送你国奖论文分析 『Python小白的数学建模课 @ Youcans』 带你从数模小白成为国赛达人. 1. 数模竞赛国赛 A题类型分析 年份 题目 要 ...

  8. 2018年数学建模国赛B题 智能RGV的动态调度策略

    第一种情况大致思路: 每秒判断各个CNC的状态,若工作完成或者是出于空闲状态下则向RGV发出一个请求.同时,RGV每秒判断自己的状态(上下料.移动.闲置.清洗等),如果是处于闲置状态,则启用调度算法, ...

  9. 一道仅有7人通过的超5星微软比赛题目-------解题思路&优秀代码分享,邀你来“找茬儿”

    6月23日英雄会平台发布了一道难度为超5星的微软比赛题目,截止活动结束共有300多名编程爱好者参与线上答题,而最终通过者仅有7人,通过率仅为2%.为什么成绩如此出人意料?是因为题目的英文描述难以理解? ...

随机推荐

  1. 1+X证书学习日志——css 2D&过渡

    css 位移常用属性 transform:translate(x,y): transform:translateX(); transform:translateY(); 旋转属性 2d旋转: tran ...

  2. react native错误排查-TypeError: window.deltaUrlToBlobUrl is not a function

    错误现象:window.deltaUrlToBlobUrl is not a function 最近在调试react-native时,打开浏览器调试时发现报错window.deltaUrlToBlob ...

  3. JavaScript: 详解正则表达式之三

    在上两篇文章中博主介绍了JavaScript中的正则常用方法和正则修饰符,今天准备聊一聊元字符和高级匹配的相关内容. 首先说说元字符,想必大家也都比较熟悉了,JS中的元字符有以下几种: / \ | . ...

  4. 05-jQuery介绍

    本篇主要介绍jQuery的加载.jquery选择器.jquery的样式操作.jQuery的事件.jquery动画等相关知识. 一.jQuery介绍 jQuery是目前使用最广泛的javascript函 ...

  5. H3C 802.11n的频宽模式

  6. Python入门篇-数据结构树(tree)篇

    Python入门篇-数据结构树(tree)篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.树概述 1>.树的概念 非线性结构,每个元素可以有多个前躯和后继 树是n(n& ...

  7. Parity game(带权并查集+离散化)

    题目链接  //kuangbin 题意: 现在你和你的朋友正在玩一种游戏. 你的朋友写下一串0和1的序列,然后你选择其中一串子序列(如[3,5])并且问他这个序列是包含奇数个1还是偶数个1(和是奇数还 ...

  8. Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't

    在使用真机定位页面元素时启动uiautomatorviewer.bat ,报错Error while obtaining UI hierarchy XML file: com.android.ddml ...

  9. python笔记39-unittest框架如何将上个接口的返回结果给下个接口适用(面试必问)

    前言 面试必问:如何将上个接口的返回结果,作为下个接口的请求入参?使用unittest框架写用例时,如何将用例a的结果,给用例b使用. unittest框架的每个用例都是独立的,测试数据共享的话,需设 ...

  10. myBatis框架之入门(四)

    Mybatis多表管理查询 多表关联关系分析: 多表关联:至少两个表关联.分析多表关系的经验技巧:从一条记录出发,不要从表整体去分析,比如分析A表和B表关系,A表中的一条记录对应B表中的几条记录,如果 ...