# 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
>我最喜歡齁哩跛ㄉㄜˋ了!
>
>但我的齁哩跛ㄉㄜˋ被可惡的網路貓咪帶走了
>
>並且在裡面藏了奇怪的東西 可以幫我找找它對我的齁哩跛ㄉㄜˋ做了什麼事嗎QQ
>
>`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
```