watevrCTF Writeup
Contents
URL: https://ctf.watevr.xyz/challenges
クリスマスシーズンでCTFイベントが並行して開催されている中、こちらのCTFは問題数も多く、よくわからんのが多くてほとんど手つかずです。
3問しか解いてないです。302位でした。
[Forensic]: Evil Cuteness
Challenge
Omg, look at that cute kitty! It’s so cute I can’t take my eyes off it! Wait, where did my flag go?
Attachment:
- kitty.jpg
Solution
$ binwalk –dd=’.*’ kitty.jpg
Flag: `watevr{7h475_4c7u4lly_r34lly_cu73_7h0u6h}`
[Web]: Cookie Store
Challenge
Welcome to my cookie store!
http://13.48.71.231:50000
Solution
ショップのページで100円で変えるクッキーがあるけど、手持ちは50円でした。
取れたクッキー。
$ echo eyJtb25leSI6IDUwLCAiaGlzdG9yeSI6IFtdfQ== | base64 -d {"money": 50, "history": []}
クッキーを編集してお金を増やして100円クッキーを購入。
$ echo "{\"money\": 200, \"history\": []}" | base64 eyJtb25leSI6IDIwMCwgImhpc3RvcnkiOiBbXX0K
Flag: `watevr{b64_15_4_6r347_3ncryp710n_m37h0d}`
[Reverse]: Timeout
Challenge
Stop, wait a minute!
Attachment:
- timeout (ELF 64bit)
Solution
Ghidraでソースを確認。generate()という関数の中で、フラグを生成しています。
|
|
長いので途中は省略してます。
local_b8の位置から表示しているので、それより前の値は無視してオッケーです。
local_b8 は ‘w’ だし、フラグ確定ですね。
‘w’ とか 10進数を16進数に変えておいて、pythonで文字に変換します。
$ python -c 'print("".join([chr(int(x,16)) for x in "0x77,0x61,0x74,0x65,0x76,0x72,0x7b,0x33,0x6e,0x63,0x72,0x79,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x73,0x5f,0x6f,0x76,0x65,0x72,0x72,0x61,0x74,0x65,0x64,0x5f,0x79,0x6f,0x75,0x74,0x75,0x62,0x65,0x2e,0x63,0x6f,0x6d,0x2f,0x77,0x61,0x74,0x63,0x68,0x3f,0x76,0x3d,0x4f,0x50,0x66,0x30,0x59,0x62,0x58,0x71,0x44,0x6d,0x30,0x7d".split(",")]))' watevr{3ncrytion_is_overrated_youtube.com/watch?v=OPf0YbXqDm0}
Flag: `watevr{3ncrytion_is_overrated_youtube.com/watch?v=OPf0YbXqDm0}`
(結局、タイマーの辺りは何もしなかったです)
ここから以下は、解けてないやつです。。。
[Misc]: Unspaellablle
Challenge
I think the author of this episode’s script had a stroke or something… Or maybe it’s just me?
Attachment:
- chall.txt
### (Unsolved) スペルミスのある単語を見つけるだけなんでしょうけど、途中で飽きてしまいました。
cawrds (w) thinag (a) grtabs (t) hies (e) herre (r) holid (i) fecmale (c) laddear (a) clinmbs (n) Retirted(t) Samuesls(s) ppiece (p) teo (e) Hammolnds (l) sttart (t) thie (i) havyen't (y) :
1個ずつ見ていくのが面倒だったので、途中からGoogle Docのスペルチェックを使って一気にスペル修正して、修正前と修正後のDiffを取ったら、うまい具合にフラグにならなかったです。
[Misc]: Ancient Script
Challenge
Hmm, this looks like something my english teacher would give me, doesn’t it? Too bad i forgot english… NOTE: the flag for this challenge is not in the standard watevr{} format. Submit it as is right from the challenge without the flag format.
Attachment:
- romeo (Ascii Text file)
### (Unsolved) これは、Shakespeareというesolangです。
難しいのは、オンラインのインタープリターがなくて、コンパイラーを使ってコンパイルしないといけないのですが、どれを使ってもまともにコンパイルができないので降参しました。
試したやつ:
http://shakespearelang.sf.net/download/spl-1.2.1.tar.gz (bison, flex 辺りが必要)
https://github.com/zmbc/shakespearelang
https://github.com/drsam94/Spl
Author CaptureAmerica @ CTF フラxxグゲット
LastMod 2019-12-15