【picogym】Get a HEAD WriteUP【picoCTF2021】

問題カテゴリ

  • Web Exploitation

問題を理解

Find the flag being held on this server to get ahead of the competition

  • 問題文からすると用意されたサーバー上にあるflagをゲットする。
  • 一旦ブラウザでサイトにアクセスしてチェックする
    • 背景が変わるボタンがある。
    • phpが動いている。
    • ChooseBlueのボタンはポストメソッドで、ChooseRedのボタンはGETメソッドなのが気になる。

脆弱性を見つける

  • タイトルがヒント
    • Get a HEADなので、ヘッダー情報を取得することを考える。

その脆弱性で何ができるか考える

  • curlコマンドでヘッダー情報を取得する。

攻撃コードを作成する

curl -I <http://mercury.picoctf.net:53554/>
  • GETリクエスト(-iで実行)とHEADリクエスト(-Iで実行)でサーバーの挙動を変えているため、
    HEADリクエスト(リクエストヘッダーのみ取得)でしか、Flagを取得できないという問題。

感想

  • 結果的に簡単な問題だったけど、サイト見てよくわからなくなってた。
    問題の意図をつかむのはやっぱ大事だなーと。
  • コマンドのオプションの違いを把握しない。

CTF

Posted by tyokio