CTFに初参加したから自分用のメモとして解法を書いておく
Crypto
1問目のEZDORSA_Lv1
だけ解けた
EZDORSA_Lv1
はじめまして!RSA暗号の世界へようこそ!
この世界ではRSA暗号と呼ばれる暗号がいたるところで使われておる!
それでは手始めに簡単な計算をしてみよう!
p = 3
q = 5
n = p*q
e = 65535
c ≡ m^e (mod n) ≡ 10 (mod n)
以上を満たす最小のmは何でしょう?
FLAG{THE_ANSWER_IS_?}の?にmの値を入れてください。
RSA暗号の知識は皆無だが、数学でmodの勉強はしたことはあったから解けた
$x = m^e$とおくと、
n=15であることから、
$x = 15k + 10 (k \in \mathbb{Z})$
$=5(3k+2)$とおける
$3k+2 \in \mathbb{Z}$から、$x$は5の倍数
故に$m$は5の倍数
ここで、Wolframを使って$m=5$と$m=10$を代入してみると$m=10$が題意を満たしたので、
FLAG{THE_ANSWER_IS_10}
ただ、この問題は$m=-5$とか$m=-20$みたいな$m=-5-15k (k \in \mathbb{Z})$で表される任意の整数$m$が題意を満たし、$m$が自然数であるとは書いてないので最小値は存在しない気もする
$m \in \mathbb{N}$は暗黙の了解なのだろうか
Forensics
1問目のJust_mp4
と2問目のwhats_happening
だけ解けた
Just_mp4
動画自体には特にヒントが見えなかったからとりあえずGoogle Colabを使ってExif情報を表示してみたら
ExifTool Version Number : 11.88
File Name : chall.mp4
Directory : /
File Size : 149 kB
File Modification Date/Time : 2023:05:05 23:22:41+00:00
File Access Date/Time : 2023:05:05 23:22:41+00:00
File Inode Change Date/Time : 2023:05:05 23:22:41+00:00
File Permissions : rw-r--r--
File Type : MP4
File Type Extension : mp4
MIME Type : video/mp4
Major Brand : MP4 v2 [ISO 14496-14]
Minor Version : 0.0.0
Compatible Brands : mp41, isom
Media Data Size : 151250
Media Data Offset : 71
Movie Header Version : 0
Create Date : 2023:04:26 13:09:50
Modify Date : 2023:04:26 13:09:50
Time Scale : 30000
Duration : 1.00 s
Preferred Rate : 1
Preferred Volume : 100.00%
Preview Time : 0 s
Preview Duration : 0 s
Poster Time : 0 s
Selection Time : 0 s
Selection Duration : 0 s
Current Time : 0 s
Next Track ID : 2
Track Header Version : 0
Track Create Date : 2023:04:26 13:09:50
Track Modify Date : 2023:04:26 13:09:50
Track ID : 1
Track Duration : 1.00 s
Track Layer : 0
Track Volume : 0.00%
Matrix Structure : 1 0 0 0 1 0 0 0 1
Image Width : 512
Image Height : 512
Media Header Version : 0
Media Create Date : 2023:04:26 13:09:50
Media Modify Date : 2023:04:26 13:09:50
Media Time Scale : 30000
Media Duration : 1.00 s
Media Language Code : und
Handler Description : VideoHandler
Graphics Mode : srcCopy
Op Color : 0 0 0
Compressor ID : avc1
Source Image Width : 512
Source Image Height : 512
X Resolution : 72
Y Resolution : 72
Compressor Name : AVC Coding
Bit Depth : 24
Video Frame Rate : 30
Handler Type : Metadata
Publisher : flag_base64:RkxBR3tINHYxbl9mdW5fMW5uMXR9
Image Size : 512x512
Megapixels : 0.262
Avg Bitrate : 1.21 Mbps
Rotation : 0
とのこと
Publisherに明らかに怪しい文字列が入ってたから書いてある通りBASE64としてRkxBR3tINHYxbl9mdW5fMW5uMXR9
をデコードしてみるとFLAG{H4v1n_fun_1nn1t}
が出てきた
whats_happening
ダウンロードしたzipを解凍して出てきたupdogっていうファイルをとりあえずVSCodeで無理矢理開いてみたら以下のようにほとんどが不可視文字だったが、ISOという文字列を見つけた
勘でupdogに拡張子.iso
を追加してマウントしてみるとFAKE_FLAG.txt
とFLAG.pngが出てきた
よってFLAG{n0th1ng_much}
Misc
1問目のPrompt
だけチームメイトが解いてくれた
気が向いたら俺も解こうと思う
Pwnable
チームメイトが1問目のnetcat
を解いてくれた
俺は手をつけてない
Reversing
1問目のJust_Passw0rd
だけ解けた
Just_Passw0rd
ダウンロードしたzipを解凍して出てきたjust_password.elfっていうELFファイルをとりあえずVSCodeで開いたら大量の不可視文字の中にFLAG is FLAG{1234_P@ssw0rd_admin_toor_qwerty}
という文字列が混ざってた
よって、FLAG{1234_P@ssw0rd_admin_toor_qwerty}
Web
1問目のIndexedDB
だけ解けた
IndexedDB
Chromeの開発者ツールのアプリケーション欄にIndexedDBという項目があったので開くとFLAGが出てきた
よって、FLAG{y0u_c4n_u3e_db_1n_br0wser}
感想
知り合い(?)に誘ってもらって2人でチームとして参加した
CTFは初参加だったけど楽しかったから今後もやっていこうと思う