前言
由于经常要在校内的CTFd平台上题,不使用pwn-base的构建方式会使得镜像体积过大,浪费许多服务器的存储空间。但使用pwn-base的情况下,不同题目libc要求不同,又需要构建多个pwn-base环境,过于麻烦。因而创建了这个可根据需求自行更换libc版本的pwn-base,有需要可以自己下载源码更改,链接在下方:
docker:loora1n/Ubuntu2.35
链接:pwnbase/Ubuntu2.35 at main · Loora1N/pwnbase (github.com)
这个库里同时还包含之前制作的Kernel pwn base
默认libc版本
GNU C Library (Ubuntu GLIBC 2.35-0ubuntu3.1) stable release version 2.35. Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled by GNU CC version 11.2.0. libc ABIs: UNIQUE IFUNC ABSOLUTE For bug reporting instructions, please see: https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs.
使用方式
首先在创建一个文件夹用于构建你的题目镜像,如我这里的pwn文件夹
将你的题目和所需的libc, ld文件也放入这里,新建一个Dockerfile,粘贴如下内容即可
1 | FROM loora1n/ubuntu2.35 |
只需替换COPY
后紧挨着的文件名即可,我这里以libc版本需求为2.32的helloworld为例。
保存后,开始构建题目镜像即可
1 | docker build -t usrname/image . |