コース目次 / 第1章

自作 CTF を起動する — secret-notes-ctf

あなた自身が作った脆弱アプリ secret-notes-ctf を 127.0.0.1 で起動し、FLAG の形式と、普通のユーザーとしての最初の一歩を確認します。

第1章 / 全5章目安 約10分この章のゴール: 自作の secret-notes-ctf をローカルで起動し、FLAG の形式と初期状態を確認する

この章から攻撃に入ります(自作環境専用)。相手は、あなた自身が作った secret-notes-ctf だけです。これは法と倫理の実習相手のうち (a) 自作環境 かつ (b) 自分の許可環境 にあたります(法と倫理)。

CTF の練習相手として、まずは自分で作った脆弱アプリ secret-notes-ctf を使います。これは「わざと脆弱に作ったメモ共有アプリ」で、いくつかの FLAG が隠されています。他人の CTF 問題を持ってくる必要はありません——自分の作った的が、いちばん安全で、いちばん学びになる相手です。

起動する

secret-notes-ctf のフォルダで起動します(初回は npm install が要る場合があります)。

cd ~/Downloads/secret-notes-ctf
npm start

ブラウザで http://127.0.0.1:4000 を開きます。メモ共有アプリの画面が出ます。

このアプリも 127.0.0.1 でだけ待ち受けます。意図的な脆弱性の塊なので、絶対に公開ネットへ晒さないこと。データを初期状態に戻したくなったら、多くの自作CTFには初期化コマンド(この題材では npm run reset)が用意されています。

ルールを確認する

攻略に入る前に、その CTF の「ルール」を読むのが作法でした。自作 CTF なら、同梱の README がそれにあたります。最低限、次の2つを押さえます。

  • FLAG の形式。この題材では FLAG{...} の形です。この形の文字列を見つけたら、それが旗です。
  • いくつ隠れているか。ゴールの数が分かると、探索の見通しが立ちます。

まず、普通に触る

CTF の初手は「いきなり穴を探す」ではありません。まず正規のユーザーとして、機能をひと通り触ることです。

  • 用意されたアカウント(例: guest / guest)でログインしてみる。
  • メモを作る・開く・検索する・ダウンロードするなど、普通の操作を全部やってみる。
  • そのとき、「このボタンは裏で何を送っているんだろう」と、前コースで身につけた HTTP の目で見る。

普通の挙動を知って初めて、「おかしい挙動」に気づけます。次章は、その「おかしい所」の見つけ方——偵察です。

こうなっていればOK

卒業まであと3章です。

この章はまだ完了していません。