CTFd03 - 只需nc的題目架設

前言
這篇為記錄怎麼架nc的題目
nc題目架設
當題目只需要nc功能時使用
此用python示範
先在虛擬機創一個資料夾,並把題目檔案放進去
cd進資料夾
- 先撰寫Dockerfile,可以
vim Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13FROM python:3.9
COPY 你的server名稱.py .
COPY 你放flag的檔案名稱.py .
RUN apt-get update && apt-get install -y socat
RUN chmod +x 你的server名稱.py
RUN chmod +x 你放flag的檔案名稱.py
EXPOSE 你要開放的端口
CMD ["socat", "TCP4-LISTEN:你要開放的端口,fork", "EXEC:\"python -u 你的server名稱.py\""]
e.g.
1 | FROM python:3.9 |
- build
1 | docker build -t "鏡像名稱" 路徑 |
e.g.
1 | docker build -t "guess" . |
最後看到Successfully就代表成功惹
- run
1 | docker run -d -p "0.0.0.0:想要開放的端口:想要開放的端口" -h "鏡像名稱" --name="鏡像名稱" 鏡像名稱 |
ps. 鏡像名稱就是剛剛build的名稱,
前兩個可以自訂,但最後一個需要跟剛剛build的一樣,
不過建議就都一樣啦,比較好辨認
e.g.
1 | docker run -d -p "0.0.0.0:20001:20001" -h "guess" --name="guess" guess |
接下來記得去防火牆設定那邊設定規則,比如我這個就是要設定TCP 20001port通過
用GCP的話可參考這篇GCP04-建立防火牆規則
最後測試 nc成功連上
後記
CTFd架設系列應該就到這篇,其實pwn跟nc類型的題目架設都差不多,只差一個是網路上抓一個是自己寫dockerfile。
而web類型的題目我還沒出過,就不寫了,但網路上其實有很多別人的docker題目檔,都可以直接抓取下來run或是compose up起來,就直接是題目了
- Title: CTFd03 - 只需nc的題目架設
- Author: Zerocatw
- Created at : 2024-07-22 22:10:10
- Link: https://zerocatw.github.io/2024/07/22/CTFd03 - 只需nc的題目架設/
- License: This work is licensed under CC BY-NC-SA 4.0.