皇室日記

たまに書きます

SECCON Beginners CTF 2018に参加しました (Write-up)

課題に追われる中,チームMIS.Wとして参加しました.844チーム中56位だったみたいです.

blog.misw.jp

私は[Warmup] Simple Auth (Reversing 51), [Warmup] Greeting (Web 51), Find the messages (Misc 66)の3問を解きました.スコア的にあんまり貢献できてない・・・

普通に難しかったです.RSA is Powerは解きたかった・・・

[Warmup] Simple Auth (Reversing 51)

アセンブルするとフラグをメモリに書き込んでいることがわかる. ctf4b{rev3rsing_p4ssw0rd}

[Warmup] Greeting (Web 51)

PHPのソースを読むと,usernameadminのときにフラグが表示されるが,POSTnameを送信すると,偽管理者に上書きされてしまうことがわかる.POSTで何も送らずCookiename=adminを書き込むとフラグが手に入る.

$ curl -b name=admin greeting.chall.beginners.seccon.jp | grep ctf4b{

ctf4b{w3lc0m3_TO_ctf4b_w3b_w0rd!!}

Find the messages (Misc 66)

最初は150 pointsくらいあった気がするんだけどどんどん下がって66 pointsになってた.
disk.imgを渡されるが,マウントできないっぽいので中身を見てみる.

$ fls -o 2048 -r disk.img
d/d 11: lost+found
d/d 12: message1
+ r/r 13:   message_1_of_3.txt
d/d 2017:   message2
+ r/r 14:   message_2_of_3.png
d/d 2018:   message3
+ r/r * 15: message_3_of_3.pdf
d/d 16129:  $OrphanFiles

なんかpdfファイル消されてる・・・ とりあえず1と2を取り出してみる

$ icat -o 2048 -r disk.img 13 > message_1_of_3.txt
$ icat -o 2048 -r disk.img 14 > message_2_of_3.png

message_1_of_3.txtはbase64 -D.message_2_of_3.pngPreview.appで開けないのでバイナリエディタで開くと先頭8バイトが潰されているもののIHDRの文字列を見て安心.89 50 4E 47 0D 0A 1A 0Aを書き込んで無事復元できた.message_3_of_3.pdfは$ foremost disk.imgで復活.
3つ繋げて ctf4b{y0u_t0uched_a_part_0f_disk_image_for3nsics}

CTF初参加でしたが楽しかったです.バイナリに強くなりたいです.