ぼっチーム omakase で参加した。最終的に獲得できたポイントは 600 点でチーム順位は 20 位 (登録 269 チーム、参加 159 チーム中) で日本勢の中では 4 位 (20 チーム中) だった。
の 13 問を解いた。
dex2jar
で dex ファイルを jar に変換。jad
で com/pragyan/circle/b.class
をデコンパイル。b.jad
に "eTB1XzRyM180X2g0Y2szcg=="
という文字列があるので base64 でデコード。flag: y0u_4r3_4_h4ck3r
Main.jad
に "65544231587a52794d3138316458417a636c396d4e44553343673d3d"
という文字列がある。'65544231587a52794d3138316458417a636c396d4e44553343673d3d'.decode('hex').decode('base64')
flag: y0u_4r3_5up3r_f457
ghowdirufhdwqlw
を左に 3 個ずらす。flag: deltaforceatnit
def f(a):
t = a.lower()
for c in range(0x61, 0x61 + 26):
if chr(c) not in t:
t += chr(c)
def g(b):
s = ''
for c in b.lower():
s += chr(t.find(c) + 0x61)
return s
return g
f('prgyan')('dhkuagsn')
flag: ilovectf
'sfblvmlhyhpgrudnntagfxstbgxyk'.match(/./g).map(function (c, i) {
return String.fromCharCode((c.charCodeAt(0) - 0x60 + i) % 26 + 0x61);
}).join('');
flag: deltaatpragyan
foo
を展開すると rsa/cipher.enc
と rsa/domain.csr
が出てくる。openssl req -noout -modulus -in domain.csr
で domain.csr
の n を取り出す。cipher.enc
を復号。flag: too_close_primes
strings -n 10 Proxy.jpg
flag: 16bbee7466db38dad50701223d57ace8
sed -e s/"255, 255, 254"/"0, 0, 0"/g test.html > a.html
flag: 8febb919bc0fc08e3e1108b1b6bfef37
steghide
で展開、鍵は stego_50.jpg
の末尾にある。steghide extract -sf stego_50.jpg -p "Delta_Force\\m/"
key_stego_1
という名前のファイルが出てくる。flag: PrAgyaNCTF_sTeg1_key
from PIL import Image
def f(a, n):
return [a[x:x+n] for x in range(0, len(a), n)]
im = Image.open('the_bling_ring.png')
w, _ = im.size
a = []
for x in range(w):
r, g, b, _ = im.getpixel((x, 0))
a.append(str(int(not (r == g and g == b))))
print(''.join(chr(int(''.join(x), 2)) for x in f(a, 8)))
flag: The_beauty_of_paradise_is
misc
を展開すると misc.zip
が出てくる。misc.zip
は鍵がかかっている。jumanji
。flag: 4pesb9b9blkfc08e3z2105b1b6bfif45
Piet
のプログラム。Hello, world!
と出力される。flag: Hello, world!
ctf/aes.js
が index.html
から読み込まれておらず怪しい、flag
で検索する。$('#flag').html("904d553eae0a2a5b82d82fd4f0c7ae6f5fe955f5");
がヒットする。flag: 904d553eae0a2a5b82d82fd4f0c7ae6f5fe955f5