# 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 ```