SECCON Beginners CTF 2018に参加しました (Write-up)
課題に追われる中,チームMIS.Wとして参加しました.844チーム中56位だったみたいです.
私は[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のソースを読むと,username
がadmin
のときにフラグが表示されるが,POST
でname
を送信すると,偽管理者に上書きされてしまうことがわかる.POST
で何も送らずCookieにname=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.pngはPreview.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初参加でしたが楽しかったです.バイナリに強くなりたいです.