CTF for BBA

ゲーム時々CTFやるBBAの日常。

CSAW CTF 2020 Writeup

別の勉強しててCTFご無沙汰でした。255点。
歳のせいか体力がなくて難しい問題頑張れませんでした。つらい

よくないけど他のプレイヤーとちょっとずつ話したりした。 これは新しい体験だった(英語力が上がった気がする)。
どうせ上位でもないなら、問題がオープンでホットなうちにヒント乞食してでも解くべきなのかもしれない…?わからない
(でもそんなことしてたらdiscordの雑談チャットが閉まってしまった)


sanity (sanity)

discordの#rulesチャンネルの説明文にフラグ。

flag: flag{w3lc0m3_t0_csaw2020}

widthless

HTTPレスポンスの末尾にZero-Width space steganographyが存在する。
下記サイトでデコードした。

https://offdev.net/demos/zwsp-steg-js

b'YWxtMHN0XzJfM3o='base64デコードするとalm0st_2_3zになる。
これをsign upに入力すると/ahsdiufghawuflkaekdhjfaldshjfvbalerhjwfvblasdnjfbldf/<pwd>という文字列が返ってきた。
http://web.chal.csaw.io:5018/ahsdiufghawuflkaekdhjfaldshjfvbalerhjwfvblasdnjfbldf/alm0st_2_3zにアクセスすると、次のページにアクセスできる。

このページにもzwsp stegoが最初の方、htmlタグ内等に含まれているので上記サイトでデコードすると755f756e6831645f6d33、デコードするとu_unh1d_m3が得られる。
同様にmail欄にsubmitすると/19s2uirdjsxbh1iwudgxnjxcbwaiquew3gdi/<pwd1>/<pwd2>と返ってくるので、http://web.chal.csaw.io:5018/19s2uirdjsxbh1iwudgxnjxcbwaiquew3gdi/alm0st_2_3z/u_unh1d_m3にアクセスすればフラグ。

flag: flag{gu3ss_u_f0und_m3}

roppity

ret2libc。過去のコードをちょっと変えただけ。
なぜかローカルではうまく動かなくて焦った。

ctf4bba.hatenablog.com



シェルが取れたらlscat flag.txtでOK。

flag: flag{r0p_4ft3r_r0p_4ft3R_r0p}

Perfect Secrecy

二枚の画像の黒が重なっている部分を抽出して画像にすると良さそうだった。 適当にStegSolveのImage Combiner(XOR)を使った。

f:id:boxwolf:20200913184734j:plain

ZmxhZ3swbjNfdDFtM19QQGQhfQ==base64デコードしてフラグ。

flag: flag{0n3_t1m3_P@d!}

ezbreezy

眺めてたら怪しげな関数を見つけた。

f:id:boxwolf:20200913200526p:plain

固定値を配列にmovしている。値を抽出すると8E94898F A39D8790 5C9E5B87 9A5B8B58 9E5B9A5B 8C87955b A5
8e, 94, 89, 8f, a3という数列のそれぞれの差が、6C, 61, 67, 7B, 7D(="flag{")と同じだったので、各値から0x28を引いてみたらフラグになった。

flag: flag{u_h4v3_r3c0v3r3d_m3}