BITSCTF 2019 Writeup

この大会は2019/2/2 6:00(JST)~2019/2/4 6:00(JST)に開催予定だったものです。
実際は開始終了とも遅れたようでしたが。。。
今回もチームで参戦。結果は 595点で266チーム中41位でした。
自分で解けた問題をWriteupとして書いておきます。

Sanity check (Web 20)

問題に記載のURLに以下が書いてある。

QklUU0NURnt3M2xjMG0zXzcwXzcwcF8xX3AzcmMzbjd9

Base64デコードする。

$ echo QklUU0NURnt3M2xjMG0zXzcwXzcwcF8xX3AzcmMzbjd9 | base64 -d
BITSCTF{w3lc0m3_70_70p_1_p3rc3n7}
BITSCTF{w3lc0m3_70_70p_1_p3rc3n7}

Sneaky (Web 100)

問題文は以下のようになっている。

The closer you look, the more you see

この問題文をコピペすると、以下のようになった。

The closer you lookBITSCTF{w0w_7h47_w45_5n34ky}, the more you see
BITSCTF{w0w_7h47_w45_5n34ky}

Math check (Programming 75)

逆算をして、BITSCTFで始まるものを探す。

enc = 'FUM!SM4GBTD_CT{L4}C0R1I'

def decrypt(enc, A):
    s = [''] * 23
    for i in range(23):
        idx = (1 + A * (i + 1)) % 23
        s[idx] = enc[i]
    return ''.join(s)

for A in range(23):
    flag = decrypt(enc, A)
    if flag.startswith('BITSCTF'):
        print flag
        break
BITSCTF{M0DUL4R_M4G1C!}