ブログ未満のなにか

ブログなのか誰にも分からない

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のパスワードはメール中に書いてある。

てけいさん

やるだけ

SECCON BeginnersCTF 2018 てけいさん · GitHub