---
# System prepended metadata

title: SCAICT winter camp 2024

---


# SCAICT winter camp 2024

[toc]

# 出題小組
- ### 林逸凡 (dkri3c1)
![IMG_0817](https://hackmd.io/_uploads/HJNo4hfqa.jpg)
>睡覺錯過ㄌ女鬼橋環節

- ### 王昭立 (Chao)
![IMG_2711](https://hackmd.io/_uploads/rJY6Enfc6.jpg)
>凌晨六點睡的正香被抱起來出題

- ### 黃宥睿 (OsGa)
![IMG_0816](https://hackmd.io/_uploads/Skc_Ehf5p.jpg)
>我出的題都超水。 用腳都做得出來ㄅ
>btw我在衣櫃睡得很香，那是我僅剩能補充睡眠的地方QQ

- ### 毛哥
![IMG_8723](https://hackmd.io/_uploads/S1AaE2MqT.jpg)
>正在準備晚餐賢慧ㄉ毛哥

---


# HOW 2 install Linux

![image](https://hackmd.io/_uploads/BJ2tITV96.png)


---
# Welcome
> 歡迎來到CTF的世界

## Welcome
- 出題者:OsGa
    >所有FLAG format 皆為 THUHC{*}
    >
    >`THUHC{SCAICT_wintercamp_2024}`
- 解題:
    恩都在題目敘述ㄌ 我不用多解釋了8


---


## Welcome Revenge
- 出題者:dkri3c1
    >Flag就藏在discord裡面喔!,快去找找他吧!
    >
    >https://discord.gg/wPz6Y9a5
- 解題:
    好像很多人沒找到 然後一大堆人來複製我(osga)當時Discord的狀態哈哈哈
    其實就藏在貼圖寒訓群組的貼圖裡面
    ![image](https://hackmd.io/_uploads/SkHIG_7qa.png)
    原本其實是在表情符號 但太小了我就移到貼圖
    你們看到的話可以在頻道發一下這個貼圖 讓大家知道你終於找到ㄌ(沒


---


# Linux Command
> Linuxㄉ簡單操作
## meow meow

-  出題者:OsGa
    >喵喵喵 貓咪都會
- 解題:
    載下來貓咪他就看到ㄌ
    ![image](https://hackmd.io/_uploads/rJglxuf9T.png)


---


## 4pp3ti2er
- 出題者:OsGa

- 解題:
    跟上面一樣 超水的題 貓咪他就有ㄌ
    ![image](https://hackmd.io/_uploads/HyOmbuGcp.png)
    不是同張圖片


---


## SECRET file
- 出題者:OsGa
    >非常安全 請執行以下檔案
- 解題:
    下載完後執行檔案
    ![image](https://hackmd.io/_uploads/ryEgXdf5p.png)
    
    :::warning
    記得要`chmod +x <file>` 給檔案執行權限!!!
    :::
    執行完後它會跟你說
    `WAHAHA I have implanted a secret file on your computer CAN U FIND IT?!`
    使用 `ls -a` 會發現目錄底下多出一個隱藏檔案
    ![image](https://hackmd.io/_uploads/HyvoN_Mqa.png)


---
    

## 0nion
- 出題者:OsGa
   > - 下載檔案後 使用 `tar xvf {file}` 進行解包
   > - 小題醒 : 最後半段FLAG在檔案內 該檔案名稱不是FLAG的一部分
- 解題:
    下載完後 使用 `tar xvf {file}` 將檔案解包
    其實你就能看到部分FLAGㄌ
    ![image](https://hackmd.io/_uploads/SysSvdGcp.png)
    進入到T目錄 之後一直按TAB可以自動補全 或者你可以直接複製下面的目錄w
    之後你會看到在最後的目錄裡有一個檔案叫做`cat_me` 顧名思義要我們cat它
    ![image](https://hackmd.io/_uploads/SyF2Ddfc6.png)
    前面的目錄為第一段FLAG 後面`cat_me`裡的內容為第二段FLAG
    ![image](https://hackmd.io/_uploads/HkDPdOMqa.png)
    可以使用`pwd`看第一段FLAG
    ![image](https://hackmd.io/_uploads/HyA9OdM5a.png)
    將它兩個就是完整的FLAGㄌ
    ![image](https://hackmd.io/_uploads/ByHbF_fcp.png)
    :::warning
    記得將 `/` 給刪除掉 另外cat_me不是FLAG的一部分
    :::



---


## F1rsT F1nD
- 出題者dkri3c1
    >flag就藏在名為S3cr3t.txt的檔案中,聰明的你利用find找找看吧!
    >`解壓縮檔案: unzip filename`
- 解題:
    有解過pico的應該會覺得很熟悉w
    一樣先下載檔案
    之後用題目給的指令 使用`unzip <filename>`將檔案解壓縮!
    ![image](https://hackmd.io/_uploads/SJJevBX9p.png)
    ok 看起來這ㄍ目錄底下有很多東西 題目希望我們在這個目錄找到`S3cr3t.txt`這個檔案
    我們可以使用`find`指令來快速搜查找!
    `find <目錄名稱> -name 要查找的檔案`
    ![image](https://hackmd.io/_uploads/B1Sd3Bm9a.png)
    查完後它列出ㄌ一個目錄給你 代表它查到ㄌ在這個目錄底下叫做`S3cr3t.txt`的檔案
    可以直接複製下來然後`cat`這個檔案
    ![image](https://hackmd.io/_uploads/Sk4xpSX5p.png)
    FLAG 閃亮登場!


---
    
    
## P0w3r_c4t
- 出題者:OsGa
    >喵喵 喵喵...喵喵喵喵喵 (翻譯:兄弟 兄弟...()@))(#@$**)
    >
    >使用強大的網路貓咪去看看是誰在跟你對話!
    >
    >`nc ctfd.scaict.org 10000`
- 解題:
    這題也是史詩及超級無敵水題
    基本上複製上面的指令貼上去就好
    ![image](https://hackmd.io/_uploads/S1eMhdmq6.png)
    吉伊卡哇😍

---


## 3xpe11iarmus
- 出題者:OsGa
    >我最喜歡齁哩跛ㄉㄜˋ了！
    >
    >但我的齁哩跛ㄉㄜˋ被可惡的網路貓咪帶走了
    >
    >並且在裡面藏了奇怪的東西 可以幫我找找它對我的齁哩跛ㄉㄜˋ做了什麼事嗎ＱＱ
    >
    >`nc ctfd.scaict.org 10001`
    >![image](https://hackmd.io/_uploads/BkQmkLXcp.png)
- 解題:
    這題也是先`nc ctfd.scaict.org 10001`進去看看
    ![image](https://hackmd.io/_uploads/Syx2nO75p.png)
    恭喜你可以透過netcat看哈利波特小說
    如果你解不出來可以考慮把這篇讀完 還可以順便找到FLAG
    
    上課時說到`grep`不只是可以用在`cat`上面 所有指令都可以
    我們可以 `nc ctfd.scaict.org 10001 | grep THUHC`
    ![image](https://hackmd.io/_uploads/H1NBT_mc6.png)
    ~~然後你現在找完了 可以來看哈利波特了~~
    
    


---


## Tab_taB_Attack
- 出題者:dkri3c1
    >Tabbbbbbbbbbbbbbbbb
    >`解壓縮檔案: unzip filename`
- 解題:
    一樣`wget`好朋友下載一下檔案
    然後跟上面一樣 `unzip <files>` 解壓縮
    ![image](https://hackmd.io/_uploads/Sk2C1Im56.png)
    解壓縮完其實你就會發現flag在最後一個目錄ㄌ 你可以直接複製cat它
    或按照題目名稱 `Tab_taB_Attack` !!
    先 `cd` 進解壓完的目錄 然後瘋狂按你的tab
    ![image](https://hackmd.io/_uploads/H1cdx87qT.png)
    `cat flag.txt`就出現ㄌ
    ![image](https://hackmd.io/_uploads/HyxTeLX96.png)


---


## H1de 4nD s33k
- 出題者:OsGa
    >FLAG: 嘿嘿嘿嘿我躲起來了你找不到我哇哈哈哈哈
- 解題:
    下載完檔案後 可以先用`files`查看一下它的類型
    ![image](https://hackmd.io/_uploads/Sk0SMUXcT.png)
    看起來是個非常多行的`ASCII TEXT`檔案
    `cat`它看看
    ![image](https://hackmd.io/_uploads/SkItM8Qqa.png)
    爆出一堆文字 多到截不下
    我們可以使用`grep`來快速查找我們要的關鍵字
    今天我們已經知道FLAG是`THUHC`開頭 所以我們就`grep`這個關鍵字
    `cat <files name> | grep 關鍵字`
    ![image](https://hackmd.io/_uploads/BJEem8Xqp.png)
    而且kali很好心會幫你標出關鍵字<3 暈船
    :::info
    這題還有一個解法 可以直接下載然後用notepad開 然後crtl+F 直接查w
    :::


---


## f1nd th3 p4ssw0rD
- 出題者:OsGa
    >我忘記我的密碼了 但是我是機器人逼逼啵啵 一直通過不了驗證 可以幫我想辦法找到這個檔案的密碼嗎
    >![image](https://hackmd.io/_uploads/HJxqXLX9T.png)

- 解題:
    這題偏通靈
    下載完檔案後 使用`file`發現它是個`ELF`執行檔 給它權限後執行它!
    ![image](https://hackmd.io/_uploads/S1FJ4LQ9a.png)
    會發現它要我們輸入password 但我甚麼都不知道題目也沒講R!!!!怎麼輸都錯
    但我們可以用`strings` 看一下這個執行檔可列出的ASCII文字 說不定可以找到線索
    `strings <files name>`
    ![image](https://hackmd.io/_uploads/r1Q8NLQcT.png)
    這邊`strings`完發現在password底下有超級電神 `dkri3c1` 的名字
    我們推測這就是密碼
    再次執行輸入密碼後就看到FLAGㄌ
    ![image](https://hackmd.io/_uploads/r175NLmqT.png)


---


## Locksmith
- 出題者:OsGa
    >1. 創建一個檔案名為 key
    >2. 並注入密鑰
    >3. 執行檔案
    >
    >密鑰為:此題作者的名字(全都小寫)
- 解題:
    這題也篇通靈 
    下載完檔案後也會發現它是執行檔
    給它權限執行看看
    ![image](https://hackmd.io/_uploads/SyVLS8756.png)
    執行完後你會看到它說沒找到鑰匙
    叫我們創建檔案然後注入鑰匙
    我們就按照題目敘述來做 叫我們創建一個檔案取名為`key` 並且在裡面輸入密鑰
    然後密鑰名稱是這題出題者的名字
    誰啊 那麼機掰出這題通靈題 喔..等等..是我自己哈哈
    那就`vi key`
    ![image](https://hackmd.io/_uploads/SkovULQ96.png)
    進來之後 切換到輸入模式 輸入`osga` 然後退回指令模式`:wq`儲存退出
    保存退出後再次執行檔案
    ![image](https://hackmd.io/_uploads/B15pL87c6.png)
    FLAG 乒乒乓乓蹦出來了!

---

:::success
Linux題目就到這邊 其實出的都滿偏簡單的 希望大家都有充分練習、了解到LINUX指令ㄉ部分( •̀ ω •́ )✧ by OsGa
:::

---
# Web Security
>網頁安全不安全


## Cat-Shop
-  來自 splitline
    > meow meow meow
    >http://ctfd.scaict.org:8100
- 解題:
    ![image](https://hackmd.io/_uploads/S1VCYKQqp.png)
    進去後會發現FLAG的按鈕點不進去 但其它是可以進去的
    如果觀察仔細一點的話會發現 它每個分頁其實是有按照順序的
    剛剛好從 `A Ranibow Cat` 跳到 `A Evil Cat` 中間跳過了`5430`
    ![image](https://hackmd.io/_uploads/B1M-qK75p.png)
    ![image](https://hackmd.io/_uploads/B1egG9tmcp.png)
    ![image](https://hackmd.io/_uploads/rJwfqKQca.png)
    直接修改URL到`5430`看會不會跳到FLAG那頁
    ![image](https://hackmd.io/_uploads/H1C29FXqp.png)
    當啷 跟我們想的一樣
    但會發現購買金額跟我們的錢包差很多
    所以我們可以`右鍵->檢查` 來修改網頁原始碼
    ![image](https://hackmd.io/_uploads/S1J7oFX5p.png)
    到按鈕那區 我們可以更改購買金額 把它修成0元然後再購買
    ![image](https://hackmd.io/_uploads/SJISsKQ5T.png)
    ![image](https://hackmd.io/_uploads/H1EUstQcp.png)
    液 我買到FLAGㄌ!!


---


## F1nD_M3th0D
-  來自 dkri3c1
    > 想想還有哪些http method可以用owo
- 解題:
    ![image](https://hackmd.io/_uploads/SyYQU_fq6.png)
    直接連上去會發現是這個樣子,那就來改http的請求方式
    開 burpsuite改就好ㄌ 
    ![image](https://hackmd.io/_uploads/HJ6tUOf5a.png)
    ![image](https://hackmd.io/_uploads/ryUiLuG5T.png)
    ![image](https://hackmd.io/_uploads/rJJJPOf96.png)
    最後就會拿到flag惹@@
    > THUHC{HtTp_M3th0D-_-_P0St}

## C00kIe_MasT3r
-  來自 dkri3c1
    > 好吃ㄉ餅乾:D
- 解題:
    用set cookie 拿到cookie , 然後把admin 的`False`改成`True`再按check cookie就有Flag惹!
     ![image](https://hackmd.io/_uploads/ryFSO_G9T.png)
     ![image](https://hackmd.io/_uploads/S1SL_Ofqa.png)
## Dragon_dance
-  來自 dkri3c1
    > 愛跳舞的龍oUo
- 解題:
    點進去發現被`redirect`到 Toothless Dancing to Driftveil City的影片
    那一樣可以用`burpsuite`攔攔看為啥會 `redirect`
    ![image](https://hackmd.io/_uploads/S1UAY_zcp.png)
    ![image](https://hackmd.io/_uploads/rkwxcdMqa.png)
        結果按下send就發現flagㄌ xD
        ![image](https://hackmd.io/_uploads/ryMzqdG5a.png)


##  F**king Javascript
-  來自 dkri3c1
    > 被*過的javascript
- 解題:
    點進去發現有這麼一個網站![image](https://hackmd.io/_uploads/Hk8Gy_X56.png)
    這題的題目名稱叫做F**cking javascript,那麼我們可以`通靈`看看這些單字![image](https://hackmd.io/_uploads/ryZgguX9T.png)
    就會發現我們找到一個叫做JSFuck的東西,我們可以把它想像成一種`編碼`,於是我們就去找線上的解碼工具然後解碼他。
    ![image](https://hackmd.io/_uploads/rybPl_796.png)
    > THUHC{JaVaScrript_TK888}

## Login site 
-  來自 dkri3c1
    > login with user1/password1
- 解題:
    題目給了一個登入頁面,那我們試用題目給的那一組帳號登進去看看
    ![image](https://hackmd.io/_uploads/rJ3QWOQ5T.png)
    ![image](https://hackmd.io/_uploads/B1j4ZuQc6.png)
        登入之後發現裡面啥都沒,於是就退回去一開始的登入頁面
        ![image](https://hackmd.io/_uploads/rynIbOmc6.png)
    回到一開始的登入頁面之後按`F12`或`右鍵->檢查`看一下網頁原始碼,發現疑似一組帳號密碼的東西被註解ㄌ,![image](https://hackmd.io/_uploads/B1MabuX5p.png)
    那我們登入看看![image](https://hackmd.io/_uploads/rk1yMdXqT.png)
    登入之後就會發現Flagㄌ:D

    > THUHC{U_G0t_j0ke_bY_dkri3c1_:D}
## SQL INJECTION 0x01
-  來自 splitline的How-To-Hackwebsite開源課程
    > Ez SQL INJECTION
- 解題:
    解法1 :
    因知道資料庫內有位使用者叫"admin"，所以我們直接在帳號欄輸入admin，後面加個單引號和括號結束這段字串，後面的’ --‘是資料庫註解語法(後面的東西資料庫都不會讀取)
    密碼區隨便打![image](https://hackmd.io/_uploads/B1vjGdQqa.png)
    解法2 :
    在不知道資料庫有哪筆使用者資料的情況下，在後面新增恆正的條件式，這樣一來即使前面輸入的帳號是錯誤的還是會被視為正確執行，後面的’ --'是資料庫註解語法(後面的東西資料庫都不會讀取)
    密碼區隨便打
    ![image](https://hackmd.io/_uploads/S1jTGu75p.png)
    > THUHC{SQLLLLLLL_IIINNNNjection_bruh}

## Ping 0x01
-  來自 splitline的How-To-Hackwebsite開源課程
    >command injection
- 解題:
    連上去發現是一個有command injection問題的網頁,我們試試看一般的payload`123 | ls`並開啟magic![image](https://hackmd.io/_uploads/rJsIXO75T.png)
    發現她會報錯，於是我們就讓它變成`字串`執行，執行就變拿到一個`shell`ㄌ,於是我們就可以輸入像是`find`的指令找flagㄌ。
    ps: 如果不知道為什麼的可以用`終端機`自己模擬一次:D

    demo 圖片:
    ![image](https://hackmd.io/_uploads/S1vxN_Q56.png)
    ![image](https://hackmd.io/_uploads/By7VVdQ9a.png)
    > THUHC{PhP__Mak3_th3_pr0bl3m}
---

:::success
這邊是webㄉ題目,出的很奇怪抱歉T_T,希望這次課程之後大家對web security的部分有更多的了解@@ by dkri3c1
:::


---
# Python
>大蟒蛇! 雖然沒有教太多但題目除了炸機 其實只要會看就解得出來ㄌw
## Re5t0r3r
- 出題者:OsGa
    >下面的檔案好像執行不了 可以幫我修復並執行嗎
- 解題:
    下載完後用vscode打開或其他編譯器打開都可以
    ```python
    flag = "WKXKF~g6ex<bp7vw6U"
    result = str()
    for i in range(len(flag)){
        result += chr(ord(flag[i]) - 3)
    }

    print(result)
    ```
    其實這題只是要你們簡單ㄉdebug而已
    很簡單8!!很明顯8!!!編譯器都告訴你哪裡怪怪的ㄌ(如果你用VIM的話它不會告訴你w)
    這題只是簡單把文字位移而已 只是我很懶所以我隨便寫:D
    把`{}`換掉執行就好
    ```python
    flag = "WKXKF~g6ex<bp7vw6U"
    result = str()
    for i in range(len(flag)):
        result += chr(ord(flag[i]) - 3)


    print(result)
    ```
    
    噹啷☆*: .｡. o(≧▽≦)o .｡.:*☆
    ![image](https://hackmd.io/_uploads/ryW_xOXcp.png)
    :::info
    btw你可以直接執行它友會告訴你哪裡有問題
    ![image](https://hackmd.io/_uploads/r1viluQqa.png)
    :::
---


## 床的世界
- 出題者:OsGa
    >`nc ctfd.scaict.org 10002`
- 解題:
    這題有提供`server.py`載下來後會發現其實就是server在跑的code
    ![image](https://hackmd.io/_uploads/SyF7RO75T.png)
    
    你可以輸入代號選你要買ㄉ床
    但如果你有看`server.py`的話你就會發現你可以輸入`FL4G`獲取FLAG
    ```python
    import sys
    from secret import FLAG
    def main():
        coins = 10
        print("welcome 2 Bed W0r1d.W4at do u need?")
        print("======================")
        print("A: a good bed - 10")
        print("B: EPCI bed - 1000000")
        print("C: Chao's bed - 0 ")
        print("D: Red bed - 100")
        print("E: hospital bed - 900")
        print("exit: Exit")
        print("======================")
        print(f"Wallet: {coins}")
        user_input = input('plz enter code: ')
        if user_input == "A":
            if coins >= 10:
                coins -= 10
                print("Purchase successful , but u cant do anything QQ")
            else:
                print("Insufficient balance")
        elif user_input == "B":
            if coins >= 1000000:
                coins -= 1000000
                print("Purchase successful , but u cant do anything QQ")
            else:
                print("Insufficient balance")
        elif user_input == "C":
            print("You got a hospital bed and got beaten by chao")
        elif user_input == "D":
            if coins >= 100:
                coins -= 100
                print("Purchase successful , but u cant do anything QQ")
            else:
                print("Insufficient balance")
        elif user_input == "E":
            if coins >= 900:
                coins -= 900
                print("Purchase successful , but u cant do anything QQ")
            else:
                print("Insufficient balance")
        elif user_input == "exit":
            sys.exit()
        elif user_input == "FL4G":
            print(FLAG)


    try:
        main()
    except:
        sys.exit()    
    ```
    ![image](https://hackmd.io/_uploads/ryhPROmcT.png)
    
    霹靂卡霹靂拉拉 FLAG出現吧!
    ![image](https://hackmd.io/_uploads/BJ8FRdQ5a.png)
    :::info
    喔對我EPIC打成EPCI 這題我是你們在聽課我在後面趕得 打太快了沒發現
    但我好懶得改 就這樣吧 不影響解題ㄉ各位放心 然後不用再提醒我了 我知道我打錯字我就懶!!!
    :::


---
## 東海炸雞
- 出題者:Chao
    >請你試著運用這些腳本得到Flag
    >
    >http://ctfd.scaict.org:8600/
- 解題:
    查看`app.py`
    ```python=
    from flask import *

    app = Flask(__name__)

    @app.route("/")
    def index():
        return 'Let`s guess flagggg!!'


    @app.route("/<num>")
    def round1(num):

        if int(num) == ???:
            flag1 = '1/2 of flag: THUHC{*'

            return flag1

        return 'you are guess {}, but it is not the flag!'.format(num)

    @app.route("/???/<num>")
    def round2(num):

        if int(num) == ????:
            flag1 = '2/2 of flag: *}'

            return flag1

        return 'you are guess {}, but it is not the flag!'.format(num)

    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=8600, debug=False)
    ```

    這題其實是要你們透過給題目給的腳本玩目錄爆破
    而且還要玩兩輪

    `script.py`
    ```python=
    import requests

    times = int(input("Enter a number to try guess flag ==>"))

    for i in range(1, times):
        url = 'http://ctfd.scaict.org:8600/{}'.format(i)
        response = requests.get(url).text
        print(response)
    ```

    運行腳本後隨機輸入一個>=864的數字
    到864後他會給出第一個片段

    要獲得第二片段要將腳本修改成

    ```python=
    import requests

    times = int(input("Enter a number to try guess flag ==>"))

    for i in range(1, times):
        url = 'http://ctfd.scaict.org:8600/864/{}'.format(i)
        response = requests.get(url).text
        print(response)
    ```

    再運行腳本輸入一個>=1001的數字


---


# Web
> 毛哥ㄉWeb小學堂


## 蹦啾
- 出題者:毛哥EM
    >下列何者 CSS 漸層能畫出法國國旗？
    >(選項去看LAB)
- 解題:
    E，漸層開始與結束位置需要重疊，才會變實心顏色。


---


## FLEX
- 出題者:毛哥EM
    >何者屬性能夠控制 flex box 水平對齊方向？ 是 flex-wrap 嗎？還是 flex-flow ? 還是 ...
- 解題:
    何者屬性能夠控制 flex box 水平對齊方向？答案是 justify-content。
    不過嚴格說來是稱為主軸對齊，主軸的設定是上方的 flex-direction；所以實際是水平或垂直，要依主軸的方向而定喔。


---


## 皮卡丘
- 出題者:毛哥EM
    >皮卡丘的臉為什麼會跑版？ 因為他的五官是 display: inline, block, 還是 inline-block?? 還是 ...
    >![image](https://hackmd.io/_uploads/BkqSxtXc6.png)

- 解題:
    因為他的五官是 display: block每個元素會佔滿整排。inline, block, inline-block  三選一，一開始還沒限制回答次數，也太佛了


---


## 青蛙
- 出題者:毛哥EM
    >何者屬性能夠控制 flex box 水平對齊方向？ 是 flex-wrap 嗎？還是 flex-flow ? 還是 ...
    >![image](https://hackmd.io/_uploads/HkV2xFQcp.png)

- 解題:
    [Flexbox Froggy](https://flexboxfroggy.com/)
    Flexbox Froggy 總共有 24 關。


---



## 社交距離
- 出題者:毛哥EM
    >控制元素外距的屬性是什麼？
    display? color? background? letter-spacing?
    只可嘗試兩次喔? 還是 ...

- 解題:
    控制元素外距的屬性是什麼？答案是 margin，padding 是內距。還給兩次回答機會，講師人真好。


---


## 你有多粗？
- 出題者:毛哥EM
    >請問 CSS 屬性 font-weight 最高能設定多粗？ 請回答數字，限回答 2 次喔

- 解題:
    課程中有提到，CSS 屬性 font-weight 最高能設定到 1000。有一些網站寫 900 其實是錯 誤的，但一般人通常不會設到那麼粗。



---


# MISC
> 基本上題目都是來亂ㄉ 送你們分
## 猜猜名字-1
- 題目:
    >**驊**這個字的中文是啥
    >
    >**直接回答注音就好ㄌ**
- 解題:
    ### 第六組隊輔 - 孫驊(ㄏㄨㄚˊ)辰
    自己小隊錯的很不應該喔!!


---


## 猜猜名字-2
- 題目:
    >**粲**這個字的注音是啥
    >
    >**直接回答注音就好ㄌ**
- 解題:
    ### 第五組隊輔 - 黃粲(ㄘㄢˋ)閎
    自己小隊錯的很不應該喔!!
 

---


## 猜猜名字-3
- 題目:
    >**馮**這個字的注音是啥
    >
    > **直接回答注音就好ㄌ**
- 解題:
    ### 講師 - 馮(ㄈㄥˊ)聖元
    馮教授🛐
 

---


## 猜猜名字4
- 題目:
    >**朝**這個字的注音是啥
    >
    >**直接回答注音就好ㄌ **
- 解題:
    ### 活動召集 - 王朝(ㄔㄠˊ)立
    沒錯!!居然是念朝立 不是念朝立 是念朝立
    反正我都念朝立 管你朝立念朝立還是朝立


---


## 猜猜名字-5
- 題目:
    >**涂**這個字的注音是啥
    >
    >**直接回答注音就好ㄌ **
- 解題:
    ### 第三組隊輔 - 涂(ㄊㄨˊ)紫婷
    這題回答錯的要哭了啦
    ![image](https://hackmd.io/_uploads/Hyji0SQ9p.png)

---


## 誰在幫猴子洗澡
- 出題者:OsGa
    >請問是誰在幫猴子洗澡 回答選項即可(大寫)
    >**A: 飛哥和小佛**
    >![image](https://hackmd.io/_uploads/HJU9Bum9p.png)
    >
    >**B:朝立和子賢** 
    >![image](https://hackmd.io/_uploads/B1Tk8OXcp.png)
    >
    >**C:逸凡和志豪**
    
- 解題:
    明顯答案是**B**吧 超猴 根本頂級cosplay
    反正沒有限制回答次數 你可以把三個答案都猜一遍w
    
  
---


## 我沒睡到覺！！！！！
- 題目:
    > # 本次LAB出題者們的IG <3
    > ## 黃宥睿 [os324＿](https://www.instagram.com/os324_/)
    > ## 林逸凡 [dkri3c1](https://www.instagram.com/dkri3c1/)
    > ## 王朝立 [chao28661](https://www.instagram.com/chao28661/)
- 解題:
    當天開不起連結好像是因為東海那邊有擋起來
    ### Part 1
    dkri3c1的IG自介
    ![image](https://hackmd.io/_uploads/HJRODOm9p.png)
    ### Part 2
    chao28661的IG限動
    ![image](https://hackmd.io/_uploads/HyghwOXca.png)
    >還有我的手手 真害羞 王朝立一定是偷偷暗戀我(/▽＼)
    ### Part 3
    os324_的IG精選
    ![image](https://hackmd.io/_uploads/r1dzudX9a.png)

    拚再一起就是了哈哈


    
    
    
---
# 給破台玩ㄉ

## RSA-0
- 出題者: dkri3c1
    > 主委加碼,謝謝:D
    > hint https://zh.wikipedia.org/zh-tw/%E8%B2%9D%E7%A5%96%E7%AD%89%E5%BC%8F
    cipher.txt

- 解題
    這題是給有RSA基礎知識的人解的(因為我想說都破台了,應該很強)
    我們觀察到這題有同樣的m然後有同樣的n但不同的c跟e,我們要先確認`e1跟e2是否互質`,若e1,e2沒有互質就要另尋他解,如果是的話就是`貝祖定理`(雖然我hint已經給ㄌ)
    ![image](https://hackmd.io/_uploads/rkp2hvMq6.png)
    ## 圖上的說明-> c=密文 , n=公鑰 , e=公鑰 , m=明文

    solve.py

    ```python=
    from Crypto.Util.number import *
    n = 96111387820326098318655760259195844126853257436654749115455672801418833632367447802179296719863046486119441724884509301246015067741738603881924991173878583617148996363081836370381862669379601265408966956162574764795097506179928831098746625425587550745807608851479781270909557529408305939971796828618992046873
    c1 = 85638280401610458473540097013406240165966274681551361054758175228039442711757933917202614497455103312449227084848038652266829921543236179383886246240092390349901100808280076655141149660293034457469166703027986583531059472570205765209050570249425198990148285555594624254805247245216996491775855144264544526119
    c2 = 19987656163088075635977496827778635032797748122647673760540957781697539590251122615002032644484858413837406435384220495115750142740045250339081486017013042344617428545976992376637451213610277876225587989738458370051581806892354076780301206568091994213391223940047723657824198039056080997858802659270846599824

    e1 = 257
    e2 = 65537
    from gmpy2 import gcdext
    import math

    check=math.gcd(e1,e2)
    if check ==1:
        print('互質')
    _,s1,s2=gcdext(e1,e2)

    m=(pow(c1,s1,n)*pow(c2,s2,n))%n

    print(long_to_bytes(m))
    ```
    ```
    n = 96111387820326098318655760259195844126853257436654749115455672801418833632367447802179296719863046486119441724884509301246015067741738603881924991173878583617148996363081836370381862669379601265408966956162574764795097506179928831098746625425587550745807608851479781270909557529408305939971796828618992046873
    c1 = 85638280401610458473540097013406240165966274681551361054758175228039442711757933917202614497455103312449227084848038652266829921543236179383886246240092390349901100808280076655141149660293034457469166703027986583531059472570205765209050570249425198990148285555594624254805247245216996491775855144264544526119
    c2 = 19987656163088075635977496827778635032797748122647673760540957781697539590251122615002032644484858413837406435384220495115750142740045250339081486017013042344617428545976992376637451213610277876225587989738458370051581806892354076780301206568091994213391223940047723657824198039056080997858802659270846599824

    e1 = 257
    e2 = 65537


    ```