SECCON BeginnersCTF 2018 writeup
はじめに
ShenzhenWesternsで参加して全完した。普段はTokyoだが、0CTF Finalsで深圳に行っているメンバーがいたのでShenzhenになった(たぶん)
condition
main関数での[rbp-0x4]が0xdeadbeefであれば、flagが出力される。
# python -c 'print "\xef\xbe\xad\xde"*0x10' | nc pwn1.chall.beginners.seccon.jp 16268 Please tell me your name...OK! You have permission to get flag!! ctf4b{T4mp3r_4n07h3r_v4r14bl3_w17h_m3m0ry_c0rrup710n}
BBS
入力でgets()
を使っているので自明なstack bof。
バイナリ内でsystem
を使っているので、適当にROPするだけ。
'/bin/sh'が必要なので、先にgets()
でbssあたりに書き込み、system
を呼んだ。
SECCON BeginnersCTF 2018 BBS · GitHub
Seczon
comment機能にFSBがある。 まずは、libcとstackのアドレスをリークした。 制御を取るためにstackに積まれているmain関数の戻りアドレスを書き換えた。 commentとして入力した文字列は、stackにそのまま乗っているのでやるだけ。
SECCON BeginnersCTF 2018 Seczon · GitHub
Veni, vidi, vici
1行目は、ROT13。2行目は、https://quipqiup.com/ に投げた。3行目は読むだけ。
plain mail
zipファイルがbase64で見えるので、取り出す。zipのパスワードはメール中に書いてある。
てけいさん
やるだけ