Try   HackMD
tags: niticCTF

writeups - nitic CTF

CTF後記

最終順位が48位。
Pwnにもう少し難しい問題が来るかなと予想していて、Pwnだけでまぁまぁ点数が取れるんじゃないかと思っていたが、その予想を外した。
みんなが解ける問題(pwn_monster) or 解けない問題(baby_IO_jail) に二極分化されていて悲しい。もう少し出してほしかった。

ただ、Pwnに関しては、毎回初心者向けCTFでも5割以下の正答率だったので初参加の人にとっては「調べれば解ける」問題だったので良かった。

CryptoやWebなどの他の分野に挑戦するいい機会になった。
それと同時に、CryptoやWebもしっかり学ばないと良い順位を取ることができないことも学んだ。

niticCTFを開催してくださった方々、ありがとうございました。

Web

web_meta

Chromeのdeveloper toolで、見るだけ。

long flag

web_metaと同様、developer toolで開いて、<style><p>の要素の設定を削除し、#flag内のdisplayの値を適当に10pxと指定すれば、Flagが出てきてコピー出来る。

Pwn

pwn_monster1,2,3

pwn_monsterの詳しいWriteupはこちら

baby_IO_jail

[TODO] わからなかったので復習してwriteupを載せる

Rev

protected

GhidraやCutterなどで開く。比較している文字列がわかるので、入力するとFlagが出力される。

Crypto

Caesar Cipher

cybershefのROT13で、Amountの値をいじると、Flag形式の文字列を得られる。

ord_xor

XORされる前の文字列をY、された文字列をXと置き、XORする値をkとする。
Xk=Yが成り立つ(らしい)。

encflag = 'nhtjcZcsfroydRx`rl' def xor(c: str, n: int) -> str: tmp = ord(c) for _ in range(n): tmp ^= n return chr(tmp) dec_flag = "" for i in range(len(encflag)): dec_flag += xor(encflag[i], i) print(dec_flag)

Misc

Excel

白文字の問題かなと思ったので、Ctrl+aで全選択してCtrl+c+Ctrl+vで適当なところに貼り付けるとFlagを得られる。

image_conv

完全にSteganoの問題だった。
Stegsolveというツールがあるので、値をいじる。Flagの文字列が見えて得られる。
(色を反転するだけだとnitic_ctf{}の部分だけしか見えないので注意)