コース目次 / 第2章
偵察 — 「おかしい所」を探す
普通に触った次の一歩。robots.txt・URL のパラメータ・id・入力欄を、開発者の想定を外して観察します。triage の考え方を使います。
普通に触り終えたら、次は偵察(recon)です。狙いは一つ——開発者が想定していない使い方をして、反応の違いを見つけることです。旗そのものより先に、「攻めどころの仮説」を集めます。
表に出ていない入口を探す
/robots.txtを開いてみる。検索エンジンに「見せたくない」パスが、逆にヒントとして書かれていることがあります。- リンクされていない管理者ページ・ダウンロード機能・ツール系のページが無いか。ページのソース(HTML)やコメントも読みます。
想定を外した値を入れる
前コースで身につけた「HTTP を手で送る」目が、ここで効きます。
- URL のパラメータ(
?id=1の1)を、2・0・-1・巨大な数・文字列に変えたら? - メモの id を、自分のものでない番号にしたら? (旗艦で見た IDOR の発想です)
- 入力欄(検索・ログイン・メモ本文)に、
<script>やクォート'、特殊文字を入れたら? 反応が変わる所は、入力を正しく扱えていない疑いがあります。 - 機能を一つずつ、入力の目で疑う。ログイン、検索、メモを直接開く操作、管理者向けの画面、ファイルのダウンロード、外部への問い合わせ系のツール——どれも「利用者が渡した値を、そのまま信じて動いていないか?」という同じ問いで見ます。
triage の型を借りる
このアプリは Web 題材ですが、CTF には Web 以外(暗号・バイナリ解析・フォレンジックなど)もあります。カテゴリを問わず、最初にやることは同じ——安全な静的偵察で「これは何の問題か」を見立てることです。
Claude Code には、新しい CTF 課題を渡すとカテゴリを見立てて安全な偵察だけを走らせ、着手メモを作るスキル(ctf-triage)があります。「この課題を偵察して」と頼むと、勝手に攻撃コードを実行したりせず、読み取り中心の下調べを手伝います。偵察の型を、そのまま道具として使えます。
仮説にする
偵察の成果は、旗そのものではなく仮説です。「このダウンロード機能、パスを渡せるなら別のファイルも取れるかも」「この id、他人のメモが見えるかも」——こうした仮説を数枚たまったら、次は一つずつ検証します。詰まったときの進み方を、次章で扱います。
こうなっていればOK
卒業まであと2章です。
この章はまだ完了していません。
保存できませんでした(プライベートブラウズ中かもしれません)。この端末に進捗は残りませんが、先へは進めます。