:::danger 本篇教學示範的只是簡單的說明而已,可以自己更改或延伸,不用完全一模一樣照抄 本次以 lab-basic 和 lab-grep 來示範 ::: # Writeup 撰寫示範 - SCIST Linux CTF > 標題通常會使用該 CTF 名稱 + Writeup ## Linux > 通常會用類別分類 因為這個作業只有 Linux 類別 所以這裡的類別是 Linux > 常見的類別有:Misc, Pwn, Reverse, Web, Crypto ... ### lab-basic > 這裡一般會是題目的名稱 > 接下來就是把你的解題過程記錄下來 首先按照題目指示把題目下載下來,進入 `lab-basic` 資料夾 發現當前目錄有一個 `flag_part1` 用 `cat` 打開後得到第一段 flag ```bash= cat flag_part1 ``` 旁邊有個 `wtf.sh` 打開後發現這是一個自動建立一堆資料夾的 script :::spoiler `wtf.sh` ```bash= #!/bin/bash base_dir="find_here" mkdir -p "$base_dir" current_dir="$base_dir" for i in $(seq 1 100); do current_dir="$current_dir/$i" mkdir -p "$current_dir" done echo "Done!" ``` ::: 使用 `find` 指令從那一堆資料夾中找出所有「檔案」 ```bash= find find_here -type f ``` 找到了 `flag_part2` 和 `flag_part3` 用 `cat` 打開就能得到完整的 flag 了 ```bash= cat find_here/1/2/3/4/5/.,/flag_part3 cat find_here/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50/51/52/53/54/55/56/57/58/59/60/61/62/63/64/65/66/67/68/69/70/71/72/73/74/75/76/77/78/79/80/81/82/83/84/85/86/87/88/89/90/91/92/93/94/95/96/97/98/99/100/.flag_part2 ``` > 可以使用 `---` 加上分隔線 --- ### lab-grep 進入 `lab-grep` 這個資料夾 一樣發現了一個 `wtf.sh` :::spoiler `wtf.sh` ```bash= #!/bin/bash for i in $(seq 1 50); do mkdir "maybe_here" cd "maybe_here" echo '成大資安社是由社長葉東逸和其他五位夥伴——楊竣鴻、邱昱翔、蔡聿善、佘俊霖、文仁謙於 2023 年 9 月創立的「開源社團」。短短時間內,除了每週線下都有社課和活動外,線上也有直播和完整的課程資源供所有人免費觀看,社團 Discord 也已超過 900 人。' > maybe_here.txt echo '旗下的戰隊「B33F 50UP」更是活躍於各式各樣的資安競賽,並歡迎全臺灣不限年齡的駭客們加入一起學習,每個月也會定期舉辦讀書會分享彼此的研究成果和訓練表達能力。' >> maybe_here.txt echo '同時成大資安社也聯合臺灣各地大專院校資安社團創立了「臺灣資安社群聯盟」,影響力也從原本成大校內逐漸擴大到了全臺灣,而目前成員數來到了 18 所學校,並固定在每年的寒假期間舉辦全國性的 CTF 賽事 TSCCTF。' >> maybe_here.txt done echo "Done!" ``` ::: 分析後知道了這個 script 會重複建立很多個 `maybe_here` 資料夾和 `maybe_here.txt` 檔案 用 `grep` 指令搭配選項 `-r` 來搜尋資料夾內含有 `flag` 文字的檔案 ```bash= grep -r 'flag' maybe_here ``` 得到一半的 flag 因為 flag 的格式會是 `flag{.*}` 所以我們改爲搜尋含有 `}` 文字的檔案 ```bash= grep -r '}' maybe_here ``` 這樣就能得到另一半的 flag 了
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up