CTF・セキュリティ学習ハブ|攻撃者の思考で本当の防御を学ぶ

安全に生きたい編集部

このページは何?

CTF(Capture The Flag)は、攻撃者の手口を「自分で試して理解する」ための学習方法です。

このページでは、初めての方が迷わないように、CTFって何?どこから始める?という基本から、実際のwriteup記事まで一気に辿れる入口をまとめています。

こんな人におすすめ

  • セキュリティに興味があるけど、何から手を付けたらいいか分からない人
  • 「攻撃者目線」で考えるとはどういうことか体感したい人
  • writeupを読んでも次の問題が解けない、伸び悩みを感じている人
  • 家族や会社のシステムを守る側の人で、まず手口を知っておきたい人
  • 学生・社会人問わず、安全側のスキルを実践で身につけたい人

「攻撃者がどう考えるか」を理解すれば、本当の意味で守れるようになる。このページは、CTF(Capture The Flag)を通じてサイバーセキュリティを実践的に学ぶ人のための学習ハブです。問題ごとの「答え」ではなく、何を見て、何を疑い、何を試すか — そういう思考の型を提供します。

本シリーズで扱う技術は、必ずCTF環境・公式ラボ・自分の検証環境内でのみ使用してください。他人のシステム・サービスに対して試すことは、不正アクセス禁止法・刑法等に違反する可能性があり、教育目的であっても許されません。学んだ知識は「守るために」使ってください。

このシリーズの考え方

writeup(特定問題の答え)は世の中にあふれています。しかし、それを読んでも次の問題は解けません。なぜなら、CTFで本当に身につくのは「目の前の入力欄、URL、レスポンスから何を読み取るか」という観察と仮説の立て方だからです。本シリーズは、5フェーズの思考プロセスで全ての記事を構成しています。

観察 — まず何を見るか

URL構造、入力フィールド、エラーメッセージ、レスポンスタイム、ヘッダー、Cookie。前提を疑わず事実だけを集める。

仮説 — 何が脆弱性になりうるか

観察した事実から「ここに穴があるかも」という仮説を複数立てる。SQLi、XSS、IDOR、認証バイパスなど。

検証 — どう確かめるか

Burp Suite、curl、ffuf などで仮説を検証する。失敗もログを取る。

攻撃 — どう繋げるか

確認できた脆弱性をペイロードとして組み立て、フラッグを取得する。

対策 — どう守るか

同じ手口を実環境で防ぐには何が必要か。これが本サイトの本来の主題。

学習ロードマップ

レベルに応じた読む順番です。まずは入門・環境構築で土台を作り、思考フレームワークで型を覚え、実践ラボで型を当てはめる練習をする流れが最短経路です。

Step 1:CTF入門・環境構築
Step 2:思考フレームワーク(メインシリーズ)⚡公開中 20記事

📚 思考フレームワークシリーズ|Webフォーム編(公開中)

公開済みの記事をカードで一覧できます。気になるテーマから読み始めるのがおすすめです。

【ログイン画面の攻撃者目線】何を狙う?どう守る?|CTF思考フレームワーク #01
#01

【ログイン画面の攻撃者目線】何を狙う?どう守る?|CTF思考フレームワーク #01

ログイン画面の前で攻撃者は何を考えているのか?観察→仮説→検証→攻撃→対策の5ステップで「攻撃者の思考フレームワーク」を追体験。守る側が本当にやるべきことが見えてきます。

【新規登録フォームの裏側】サインアップから漏れる情報と防御策|CTF思考フレームワーク #02
#02

【新規登録フォームの裏側】サインアップから漏れる情報と防御策|CTF思考フレームワーク #02

「メアドとパスワード入れて登録するだけ」のサインアップフォーム。実はここから既存ユーザー列挙、弱いパスワードの強要、大量Bot登録まで起きる。観察→仮説→検証→攻撃→防御の5ステッ\xE2\x80\xA6

【パスワード再設定の罠】リセットリンクから乗っ取る手口と対策|CTF思考フレームワーク #03
#03

【パスワード再設定の罠】リセットリンクから乗っ取る手口と対策|CTF思考フレームワーク #03

パスワードリセット機能は実装ミスが多発する地雷原。トークン推測、HostHeaderInjection、ユーザー列挙——アカウント乗っ取りに直結する脆弱性を、攻撃者目線で5ステップ\xE2\x80\xA6

【検索フォームは脆弱性の宝庫】XSS・SQLi・入力検証の急所|CTF思考フレームワーク #04
#04

【検索フォームは脆弱性の宝庫】XSS・SQLi・入力検証の急所|CTF思考フレームワーク #04

検索フォームは反射型XSS・SQLi・ReDoS・コマンド注入が一同に集まる地雷原。攻撃者が3秒で何を試すか、どう守るかを5ステップで実戦解説。

【お問い合わせフォームの危険】スパム・CSRF・メール改ざん対策|CTF思考フレームワーク #05
#05

【お問い合わせフォームの危険】スパム・CSRF・メール改ざん対策|CTF思考フレームワーク #05

お問い合わせフォームの送信ボタンの裏で、メール送信・DB保存・外部API・ファイル保存と複数の処理が動く。SSRF・MailHeaderInjection・SSTI・アップロード脆\xE2\x80\xA6

【ファイルアップロード編】二重拡張子・MIME偽装・RCEの入り口|CTF思考フレームワーク #06
#06

【ファイルアップロード編】二重拡張子・MIME偽装・RCEの入り口|CTF思考フレームワーク #06

ファイルアップロード機能を攻撃者目線で観察。二重拡張子、MIME偽装、パストラバーサル、ImageTragickなど、RCEに直結する手口と防御策を思考フレームワークで整理。

【プロフィール編集編】IDOR・マスアサインメント・保存型XSSの罠|CTF思考フレームワーク #07
#07

【プロフィール編集編】IDOR・マスアサインメント・保存型XSSの罠|CTF思考フレームワーク #07

プロフィール編集ページを攻撃者目線で観察。IDOR、マスアサインメント、保存型XSSなど「自分のデータしか触れないはず」の前提が崩れる手口と防御策を思考フレームワークで整理。

【セッション・Cookie編】奪われたら全部終わる身分証の守り方|CTF思考フレームワーク #08
#08

【セッション・Cookie編】奪われたら全部終わる身分証の守り方|CTF思考フレームワーク #08

セッション・Cookie・JWTの脆弱性を攻撃者視点で観察。Cookie属性、alg=none、セッション固定化、XSS連携など、認証情報を奪われる手口と防御策を思考フレームワーク\xE2\x80\xA6

【API・GraphQL編】エンドポイント列挙とBOLAの世界|CTF思考フレームワーク #09
#09

【API・GraphQL編】エンドポイント列挙とBOLAの世界|CTF思考フレームワーク #09

RESTAPIとGraphQLの脆弱性を攻撃者視点で観察。BOLA、イントロスペクション、ネストDoS、マスアサインメントなど、API層特有の攻撃と防御策を思考フレームワークで整理\xE2\x80\xA6

【CORS・SOP編】ブラウザの境界線を突破する手口と守り方|CTF思考フレームワーク #10
#10

【CORS・SOP編】ブラウザの境界線を突破する手口と守り方|CTF思考フレームワーク #10

CORS・Same-OriginPolicy・クリックジャッキング・CSPの脆弱性を攻撃者視点で観察。Originエコー、iframe埋め込み、unsafe-inlineなどブラウ\xE2\x80\xA6

【SSRF・LFI編】サーバを内側から覗かせる手口と守り方|CTF思考フレームワーク #11
#11

【SSRF・LFI編】サーバを内側から覗かせる手口と守り方|CTF思考フレームワーク #11

SSRF・LFI・RFIの脆弱性を攻撃者視点で観察。クラウドメタデータ、php://filter、Gopherプロトコルなど内部ネットワークを覗く手口と防御策を思考フレームワークで\xE2\x80\xA6

【レースコンディション編】タイミングの隙間を突く攻撃と守り方|CTF思考フレームワーク #12
#12

【レースコンディション編】タイミングの隙間を突く攻撃と守り方|CTF思考フレームワーク #12

レースコンディション・TOCTOU・SinglePacketAttackの脆弱性を攻撃者視点で観察。クーポン重複、残高マイナス、ユーザー名重複など並列攻撃の手口と防御策を思考フレー\xE2\x80\xA6

【ビジネスロジック編】仕様の隙間を突く攻撃と守り方|CTF思考フレームワーク #13
#13

【ビジネスロジック編】仕様の隙間を突く攻撃と守り方|CTF思考フレームワーク #13

ビジネスロジック脆弱性を攻撃者視点で観察。価格改ざん、クーポン無限併用、紹介ループ、フロー迂回など仕様の隙間を突く手口と防御策を思考フレームワークで整理。

【SSTI編】テンプレートに混ざる悪意とRCEへの道|CTF思考フレームワーク #14
#14

【SSTI編】テンプレートに混ざる悪意とRCEへの道|CTF思考フレームワーク #14

SSTI(Server-SideTemplateInjection)の脆弱性を攻撃者視点で観察。Jinja2・Twig等のエンジン特定からRCEまでの手口と、サンドボックス・分離に\xE2\x80\xA6

【デシリアライズ編】信頼できないデータを蘇らせるな|CTF思考フレームワーク #15
#15

【デシリアライズ編】信頼できないデータを蘇らせるな|CTF思考フレームワーク #15

デシリアライズ脆弱性を攻撃者視点で観察。PHPObjectInjection、JavaDeserialization、PythonPickle、ViewStateなど言語別のRCE\xE2\x80\xA6

【コマンドインジェクション編】OSコマンドに混ざる悪意とRCEの経路|CTF思考フレームワーク #16
#16

【コマンドインジェクション編】OSコマンドに混ざる悪意とRCEの経路|CTF思考フレームワーク #16

コマンドインジェクション脆弱性を攻撃者視点で観察。シェルメタ文字、ブラインド検出、外部コールバック、ImageMagickなど直接RCEに至る手口と防御策を思考フレームワークで整理\xE2\x80\xA6

【XXE編】XMLに混ざる悪意の参照とファイル漏洩の経路|CTF思考フレームワーク #17
#17

【XXE編】XMLに混ざる悪意の参照とファイル漏洩の経路|CTF思考フレームワーク #17

XXE(XMLExternalEntity)脆弱性を攻撃者視点で観察。/etc/passwd読み取り、BlindXXEOut-of-Band、SAML悪用などXML特有の攻撃と、パ\xE2\x80\xA6

【HTTPリクエストスマグリング編】境界の解釈ズレを突く攻撃と守り方|CTF思考フレームワーク #18
#18

【HTTPリクエストスマグリング編】境界の解釈ズレを突く攻撃と守り方|CTF思考フレームワーク #18

HTTPリクエストスマグリングを攻撃者視点で観察。CL.TE・TE.CL・H2.CL等の解釈差を使った密輸、他人リクエスト窃取、キャッシュ汚染連鎖の手口と防御策を思考フレームワーク\xE2\x80\xA6

【Webキャッシュ汚染編】CDNを毒で塗る攻撃と守り方|CTF思考フレームワーク #19
#19

【Webキャッシュ汚染編】CDNを毒で塗る攻撃と守り方|CTF思考フレームワーク #19

Webキャッシュ汚染を攻撃者視点で観察。X-Forwarded-Host反射、CacheDeception、unkeyedinput悪用などCDN時代の主要攻撃と、Vary・Cac\xE2\x80\xA6

【Web LLM編】プロンプトインジェクションと統合アプリの新攻撃面|CTF思考フレームワーク #20
#20

【Web LLM編】プロンプトインジェクションと統合アプリの新攻撃面|CTF思考フレームワーク #20

WebLLM(チャットボット、RAG、ツール呼び出し)の脆弱性を攻撃者視点で観察。プロンプトインジェクション、IndirectInjection、システムプロンプト漏洩、LLM出力\xE2\x80\xA6

Step 3:実践ラボ・writeup
  • picoCTF General Skills 入門5問writeup(準備中)
  • TryHackMe / HackTheBox 実践記録(準備中)
Step 4:大会・コミュニティ
  • SECCON / CODEBLUE 参加レポート(準備中)
  • 国内外CTF大会カレンダー(準備中)

攻撃者と防御者、両方の視点で読む

攻撃者は「ログインページのレスポンスタイムが、存在するユーザー名と存在しないユーザー名で 30ms 違う」ことに気づく。これだけで admin が実在することが特定できる。仮説は事実の差分から生まれる。

同じ脆弱性を実環境で防ぐには、エラーメッセージの統一、レスポンスタイムの正規化、レート制限が必要です。詳しい防御策は パスワードセキュリティ完全ガイドビッシング詐欺とAI音声クローニング対策 を参照してください。

最新の更新

シリーズの記事は順次公開予定です。本ページは新記事公開のたびに更新され、常に最新の学習導線を提供します。RSSフィード(/feed/)またはCTFカテゴリページもご活用ください。 最新公開:#20 Web LLM編#19 Webキャッシュ汚染編#18 HTTPリクエストスマグリング編

繰り返しの注意:本シリーズの内容を実環境のシステムに対して試すことは違法です。必ずCTFプラットフォーム、自分の検証環境、または許可された脆弱性診断スコープ内でのみ実施してください。

記事URLをコピーしました