全然解けなかった SECCON Beginners CTF 2021 write up

239位でした。

reversing

only_read

コンパイルして main 読むと1文字ずつ比較しているので 比較している文字を連結する。

children

バイナリ実行して watch で ps aux しておく。 見えた一番おおきな pid をこたえていって、最後はchildren のプロセス数を数える(親を忘れずに)

web

osoba

ディレクトリトラバーサル

?page=../flag とか

Werewolf

?_Player__role=WEREWOLF

python mangling な データで渡す

json

-H"X-forwarded-for: 192.168.111.1" などと From IP Addressを誤認識させる

{"id": 2, "id": 0} みたいに、 正解のid、 bffが認識するid(apiサーバに投げる条件にあったid) の順にわたす。

cant_use_db

ファイルに書き込んでいるので

buy_noodles x 2 と buy_soup を 同時にリクエストすることで、変更前ファイルに全リクエストがアクセスできる。

misc

git-leak

git reflog して確認後 git reset --hard HEAD@{数字}

Mail_Address_Validator

hasdfasdklasldruwieojfsldkjvalsdkfjogasee@h1"erifausdvoajsclkasjrekqrjasledoge@h1sekrajsdlvajslerjoge@hoge@hoge@hoge@hoge@hoge

とか、適当に regexp の解析に時間がかかるものをつっこむ