メインコンテンツへスキップ
友田 陽大
実践Webハッキング技法
セキュリティ
ホワイトハッカー
脆弱性診断
Webセキュリティ
倫理的ハッキング

実践Webアプリハッキング技法の全体像【2026】攻撃クラスの地図と診断方法論 — 公式ドキュメント忠実版

Webアプリの攻撃手法を体系的に学ぶための完全ガイド。SQLi・XSS・SSRF・JWT・認証・SSTIといった主要な攻撃クラスを、PortSwigger Web Security AcademyとOWASPに忠実に地図化し、偵察→マッピング→テスト→悪用→報告という診断方法論として整理。すべて自分の資産・許可スコープ内で完結する合法な手順で、各攻撃の『なぜ刺さるか』と『どう設計で防ぐか』を対にして解説します。

公開日
読了時間
7分
著者
友田 陽大
シェア

Webアプリの脆弱性診断は、才能やセンスの世界ではありません。**再現可能な「方法論」**です。優れた診断者は、ひらめきで脆弱性を見つけるのではなく、攻撃クラスの地図を持ち、一つずつ体系的に潰していく。本記事は、その地図と方法論を PortSwigger Web Security AcademyOWASP に忠実に示し、各攻撃手法を深掘りするスポーク群への入口とするピラー記事です。

本クラスタの絶対の前提(先に読んでください) ここで扱う攻撃手法は、すべて3つの安全地帯——①自分の資産 ②CTF ③書面で許可されたスコープ——の中だけで実行します。これは ホワイトハッカーと法律 で定めた一線です。ペイロードを1つ間違えるより、向ける先を1つ間違える方が、はるかに重大です。手を動かす環境は 自宅の合法ラボ(localhost限定の OWASP Juice Shop)を前提に進めます。


1. 診断方法論 — 5つのフェーズ

プロの診断は、毎回同じ「型」で回します。考えることを減らし、見落としを構造的に防ぐためです。

フェーズやること主なツール
① 偵察(Recon)対象の技術スタック・サブドメイン・公開資産を把握nmap・各種OSINT・ブラウザ
② マッピングアプリの全エンドポイント・パラメータ・認証境界を洗い出すBurp Suite のProxy/Site map
③ テスト各攻撃クラスの仮説を1変数ずつ検証Burp Repeater / Intruder
④ 悪用(Exploit)脆弱性の影響を安全に実証(PoC)Repeater・専用ツール
⑤ 報告(Report)再現手順・影響・修正案を記録レポート・スクリーンショット

このうち最も時間をかけるべきは②マッピングです。攻撃面(attack surface)を漏れなく把握しなければ、どんなに上手にテストしても穴は見つかりません。「見えていない入口は、テストできない」——これが診断の鉄則です。


2. 攻撃クラスの地図 — 3層で捉える

PortSwigger Web Security Academy は、脆弱性を学習難易度順に3層へ整理しています。本クラスタもこの構造に沿って深掘りします。

2.1 サーバーサイド(まず学ぶべき土台)

サーバー上で何が起きるかだけ理解すればよく、初学者に最適です。

  • SQLインジェクション — クエリに介入しDBを読み書きする。UNION・ブラインド・時間ベース。
  • OSコマンドインジェクション — サーバーのシェルに任意コマンドを送り込む。
  • SSRF — サーバーに内部リソース(クラウドメタデータ等)へリクエストさせる。
  • サーバーサイドテンプレートインジェクション(SSTI) — テンプレート構文を注入しRCEへ。
  • アクセス制御の不備(IDOR) — 他人のリソースに触れる。OWASP A01、最頻出。
  • パストラバーサル / ファイルアップロード / XXE / NoSQLi

2.2 クライアントサイド

ブラウザ側の挙動を悪用します。

2.3 高度なトピック

より広い前提知識を要します。

  • JWT攻撃 — 署名検証の不備・alg混同・鍵ブルートフォース。
  • 認証の脆弱性 — 列挙・総当たり・2FAバイパス。
  • 安全でないデシリアライズ / HTTPリクエストスマグリング / GraphQL / Webキャッシュポイズニング / プロトタイプ汚染 / Web LLM攻撃

何を優先して探すかの羅針盤は、常に OWASP Top 10:2025 です。実環境でもCTFでも、A01「アクセス制御の不備」とA03「インジェクション」が圧倒的に頻出します。


3. ツールは方法論に従属する

初学者ほど「どのツールを使うか」に目が行きますが、ツールは方法論の道具にすぎません。中心にあるのは常に Burp Suite のような割り込みプロキシで、通信を観察し → 仮説を立て → 1変数だけ変えて再送し → 差分を観察するという反復です。

# 方法論の核:1つの仮説を、1つの変数で検証する(Burp Repeater)
GET /api/orders/1023 HTTP/1.1     # ← 仮説:「IDを変えたら他人の注文が見えるのでは?」
Host: lab.example                  #    自分のlab/許可スコープのみ
Authorization: Bearer <自分のトークン>

# 1023 → 1024 に変えて再送。レスポンスの差分が、脆弱性の有無を語る。

自動スキャナ(Burp Scanner / OWASP ZAP)も重要ですが、役割が違います。

  • 自動化できる(水平統制): XSS・SQLi・既知パターンの注入・ヘッダ不備。網羅検出はツールの土俵。
  • 自動化できない(縦のリスク): IDOR・認可ロジックの正しさ・テナント越境・業務ルールの破れ。「それが仕様違反か」は人間の業務理解でしか判断できない。

4. 攻撃と防御は同じコインの裏表

本クラスタの各スポークは、「どう攻撃するか」を解説した直後に、必ず「どう設計で防ぐか」を対で示します。これは単なる良心ではなく、最も価値ある診断者は防御を設計できる人だからです。

攻撃クラス攻撃の本質設計での防御
SQLiクエリ構造への入力混入パラメータ化クエリ(プレースホルダ)
XSS出力時のコンテキスト無視文脈別の出力エンコード + CSP
SSRFURLの行き先を入力に委ねる許可リスト + メタデータ遮断(IMDSv2)
JWT署名検証の手抜きアルゴリズム固定 + 厳格な署名検証
認証推測可能・列挙可能レート制限 + 一定のエラー応答 + MFA
SSTI入力をテンプレートに連結ユーザー入力をテンプレートにしない

攻撃を理解した人ほど、設計レビューで「ここが破れる」を先回りで指摘できます。私自身、経済産業大臣賞を受賞したB2B SaaS や本番二重課金0件の決済基盤を一人 × 生成AIで作る中で、「速く作る力」と「安全に作る力」は同じコインの裏表だと痛感してきました。


5. このクラスタの歩き方

  1. まず本ピラーで攻撃クラスの地図と方法論を頭に入れる。
  2. 環境を 合法ラボ で用意し、Burp Suite をセットアップする。
  3. 各スポーク(SQLi / XSS / SSRF / JWT / 認証 / SSTI)を、ラボで手を動かしながら読む。
  4. 力がついたら バグバウンティ で合法に実戦投入する。

6. まとめ

  • ハッキングは方法論:偵察→マッピング→テスト→悪用→報告。最も時間をかけるのはマッピング。
  • 攻撃クラスを地図で持つ:サーバーサイド → クライアントサイド → 高度。OWASP A01/A03が最頻出。
  • ツールは方法論の道具:Burpで1変数ずつ検証。スキャナは網羅、人間は判断。
  • 攻めと守りは裏表:各攻撃を、必ず設計での防御と対で理解する。
  • 合法の絶対条件は許可:全手順を3つの安全地帯に閉じる。

次は、最頻出かつ最も影響の大きい SQLインジェクション攻撃の完全攻略 から手を動かしていきましょう。

「自社のアプリ、これらの攻撃に耐えられるか不安」という方へ。 ここで扱う攻撃クラスを、あなたのアプリで実際に再現・診断し、設計から修正するところまで承ります。まずは無料OSSで現状を可視化することもできます。記事末尾のリンクからお気軽にご相談ください。


参考(公式一次情報)

友田

友田 陽大

経済産業大臣賞 受賞プロダクト開発者。TypeScript + Python + AWS で、SaaS・業界DX・ 実用レベルの生成AI(RAG)を、要件定義からインフラ・運用まで一人で完遂します。

この攻撃、あなたのアプリで再現されたら?

Webアプリの脆弱性診断・ペネトレーションテストを承ります

この記事で扱った SQLi・XSS・SSRF・JWT・認証・SSTI といった攻撃を、あなたのアプリで実際に再現・診断し、設計から修正するところまで承ります。攻撃の手筋を知る者だけが、設計段階で『どこが破れるか』を先回りで潰せます。まず無料OSSで現状を可視化してからでも構いません。

プロジェクト単位(請負)・技術顧問のどちらにも対応可能です。まずは30分の無料技術相談から。

あわせて読みたい