CTFd02 - Pwn題目架設

Zerocatw

前言

上篇架設完了平台,接下來要來架設題目了,先從Pwn題目開始

Pwn題目架設

這裡用xinetd搭建,先git抓取

1
git clone https://github.com/Eadom/ctf_xinetd

我們到時候會進去到ctf_xinetd資料夾裡,一個這個資料夾就是一個題目這樣
所以如果要改名,可以在抓取的時候後面加上想改的名子
變成這樣

1
git clone https://github.com/Eadom/ctf_xinetd pwn

抓下來後就會是pwn資料夾
image

之後cd進去,把bin底下的flag跟helloworld更換成自己的檔案(比如說這裡我改成babyflow)
最後記得chmod +x
image

接下來回到上一層

1
vim ctf.xinetd

image

把port改成80,./helloworld改成自己放進去的執行檔名稱(這裡用babyflow舉例)
image

保存後退出
之後輸入指令

1
vim Dockerfile

image

滑到最下面,把EXPOSE 9999改成80
image

保存後退出
正式開始架設docker

  1. build
1
docker build -t "鏡像名稱" 路徑

e.g.

1
docker build -t "babyflow" .

看到Successfully就ok了
image

  1. run
    1
    docker run -d -p "0.0.0.0:想要開放的端口:80" -h "鏡像名稱" --name="鏡像名稱" 鏡像名稱
    ps.
    鏡像名稱就是剛剛build的名稱,
    前兩個可以自訂,但最後一個需要跟剛剛build的一樣,
    不過建議就都一樣啦,比較好辨認
    e.g.
    1
    docker run -d -p "0.0.0.0:20003:80" -h "babyflow" --name="babyflow" babyflow
    接下來記得去防火牆設定那邊設定規則,比如我這個就是要設定TCP 20003port通過
    用GCP的話可參考這篇GCP04-建立防火牆規則
    最後測試 nc成功連上
    image

後記

下一篇是Crypto之類的題目架設(不需要RCE,只需要nc連上的)

  • Title: CTFd02 - Pwn題目架設
  • Author: Zerocatw
  • Created at : 2024-07-21 22:10:10
  • Link: https://zerocatw.github.io/2024/07/21/CTFd02 - Pwn題目架設/
  • License: This work is licensed under CC BY-NC-SA 4.0.
On this page
CTFd02 - Pwn題目架設