CTFd02 - Pwn題目架設

前言
上篇架設完了平台,接下來要來架設題目了,先從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資料夾
之後cd進去,把bin底下的flag跟helloworld更換成自己的檔案(比如說這裡我改成babyflow)
最後記得chmod +x
接下來回到上一層
1 | vim ctf.xinetd |
把port改成80,./helloworld改成自己放進去的執行檔名稱(這裡用babyflow舉例)
保存後退出
之後輸入指令
1 | vim Dockerfile |
滑到最下面,把EXPOSE 9999改成80
保存後退出
正式開始架設docker
- build
1 | docker build -t "鏡像名稱" 路徑 |
e.g.
1 | docker build -t "babyflow" . |
看到Successfully就ok了
- runps.
1
docker run -d -p "0.0.0.0:想要開放的端口:80" -h "鏡像名稱" --name="鏡像名稱" 鏡像名稱
鏡像名稱就是剛剛build的名稱,
前兩個可以自訂,但最後一個需要跟剛剛build的一樣,
不過建議就都一樣啦,比較好辨認
e.g.接下來記得去防火牆設定那邊設定規則,比如我這個就是要設定TCP 20003port通過1
docker run -d -p "0.0.0.0:20003:80" -h "babyflow" --name="babyflow" babyflow
用GCP的話可參考這篇GCP04-建立防火牆規則
最後測試 nc成功連上
後記
下一篇是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.