मुख्य मजकुराकडे जा
友田 陽大
実践Webハッキング技法
セキュリティ
ホワイトハッカー
脆弱性診断
Webセキュリティ
倫理的ハッキング

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

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

Published
Reading time
7 min read
Author
友田 陽大
शेअर करा

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で現状を可視化することもできます。記事末尾のリンクからお気軽にご相談ください。


参考(公式一次情報)

友田

友田 陽大

मंत्री (METI) पुरस्कारप्राप्त उत्पादनाचे विकसक. TypeScript + Python + AWS वापरून मी एकटाच SaaS, औद्योगिक डिजिटल परिवर्तन आणि उत्पादनयोग्य जनरेटिव्ह एआय (RAG) — गरजा निश्चित करण्यापासून पायाभूत सुविधा व संचालनापर्यंत — सुरुवातीपासून शेवटपर्यंत देतो.

What if this attack were reproduced on your app?

Web-app vulnerability assessment & penetration testing

I actually reproduce and assess the SQLi, XSS, SSRF, JWT, auth, and SSTI attacks covered here on your app, and take it through from design to fix. Only those who know the attacker's moves can preempt where it breaks at the design stage. You're welcome to visualize the current state with the free OSS first.

प्रकल्पाधारित काम आणि तांत्रिक सल्लागार — दोन्हीसाठी उपलब्ध. ३० मिनिटांच्या मोफत सल्लामसलतीने सुरुवात करा.

最短ルート:カレンダーから直接予約

相談内容が固まっている方は、フォーム送信よりその場で日程を確定する方がスムーズです。下記から空き時間をお選びください。

  • 30分のオンライン無料相談
  • Google Meet / Zoom / Microsoft Teams
  • NDA 商談前締結可・無理な営業はいたしません
無料相談の空き枠を予約する

हेही वाचण्यासारखे