この大会は2021/4/23 2:30(JST)~2021/4/25 2:30(JST)に開催されました。
今回もチームで参戦。結果は151点で312チーム中88位でした。
自分で解けた問題をWriteupとして書いておきます。
S4CTF{Are_You_Alive!} (BONUS)
問題タイトルがフラグになっている。
S4CTF{Are_You_Alive!}
Baby-XoR (CRYPTO (JUNIOR))
この暗号では、flagの各文字を次の文字とXORしていく。最後の文字は先頭の文字とXORしている。先頭の文字のブルートフォースにより、復号する。
with open('flag.enc', 'rb') as f: enc = f.read() for code in range(32, 127): flag = chr(code) for i in range(len(enc) - 1): flag += chr(ord(enc[i]) ^ ord(flag[i])) if 'S4CTF{' in flag: print flag break
復号結果は以下の通り。
the flag is: S4CTF{XOR_x0r_XoR_X0r_xOr!!!}
S4CTF{XOR_x0r_XoR_X0r_xOr!!!}