ikasama over technology

忘れたくないことを忘れないために

Google CTF 2020 に参加した感想

f:id:ikasamak503:20200825232932p:plain
最初の問題が解けた瞬間はかなり興奮した

Google CTF 2020 に参加しました。

capturetheflag.withgoogle.com

Google CTF 2020 は日本時間で 8/22 9:00 ~ 8/24 8:59 の間、開催されました。 僕は 8/23 の夕方〜24 時ごろまでやってました。 CTF 自体は入門者ですが、会社の同僚に誘われる形で参加しました。

解いた問題

Web を 2 問解きました。 とはいえ、いずれも、最終的には CTF 経験者である同僚の力を借りてなんとか解けたという感じです。

詳しい Write-up は他の人に譲ります。 以下、ざっくりとした解説。

PASTEURIZE

  • XSS の問題
  • サーバー (Node.js/Express) とクライアント (HTML/JavaScript) のコードは提供される
  • BotXSS を踏ませるせることで、 BotCookie にある Flag を盗む
  • POST 時にサーバーサイドのコードでバリデーションをかけていない+サニタイズが弱い
  • そこにオブジェクトを突っ込むことで XSS を起こした

LOG-ME-IN

  • SQL インジェクション? の問題
  • サーバー (Node.js/Express) とクライアント (HTML/JavaScript) のコードは提供される
  • Flag を持っているユーザーで偽装ログインすることで Flag を盗む
  • ログイン時のユーザー照合 SQL はちゃんと Prepared Staatement 使ってるので、 SQL インジェクションではないと最初は思った
    • 結局これもリクエストパラメータをバリデーションしてないので、オブジェクトを突っ込むことで SQL インジェクションみたいになった
  • 他の問題用のコードが紛れていて、だいぶ惑わされた

結果

我らが Tomatosalad は 4 問解いて 163rd に落ち着きました。 600 チームくらい参加してるので、いいほうなんじゃないでしょうか?

f:id:ikasamak503:20200825234829p:plain

感想

  • CTF 初参加で問題解けてよかった
  • Web は頑張ったらもうちょいいけそう
    • Web の仕事してるしそりゃね、、、
  • 同僚に教えてもらった、BotXSS 踏ませて Cookie を抜く手順はとても参考になった
  • Write-up で解けなった問題の解説を見るのも楽しい(そしてちょっと悔しい)
  • 他の分野もいずれ挑戦してみたい