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

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

- 公開日: 2026-06-28
- 著者: 友田 陽大
- タグ: セキュリティ, ホワイトハッカー, 脆弱性診断, Webセキュリティ, 倫理的ハッキング
- URL: https://tomodahinata.com/blog/web-application-hacking-techniques-methodology-owasp-portswigger-guide
- カテゴリ: 実践Webハッキング技法

## 要点

- Webハッキングは『勘』ではなく方法論。偵察→マッピング→テスト→悪用→報告という型で、攻撃クラスを一つずつ潰していく。本記事はその地図と、各攻撃手法スポークへの入口
- 攻撃クラスは3層で捉える：サーバーサイド（SQLi/コマンド注入/SSRF/SSTI/アクセス制御）、クライアントサイド（XSS/CSRF/CORS）、高度（JWT/デシリアライズ/リクエストスマグリング/GraphQL）。OWASP Top 10:2025のA01『アクセス制御の不備』が依然最頻出
- ツールは方法論に従属する。Burp Suiteで通信を観察・改ざん・再送し、仮説を1変数ずつ検証する。自動スキャナは『水平に網羅できる脆弱性』、人間は『設計でしか判断できない縦のリスク』を担う
- 合法の絶対条件は『許可（スコープ）』。本クラスタの全手順は3つの安全地帯（自分の資産／CTF／書面で許可されたスコープ）に閉じる。無許可の対象に向けた瞬間、学習は不正アクセス禁止法違反になる
- 攻撃の理解は防御の設計に直結する。各手法は『どう刺さるか』と必ず対で『どう設計で潰すか（パラメータ化・出力エンコード・署名検証・認可のサーバー強制）』を示す。攻めと守りは同じコインの裏表

---

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

> **本クラスタの絶対の前提（先に読んでください）**
> ここで扱う攻撃手法は、すべて**3つの安全地帯**——①自分の資産 ②CTF ③書面で許可されたスコープ——の中だけで実行します。これは [ホワイトハッカーと法律](/blog/ethical-hacker-law-japan-unauthorized-access-act-active-cyber-defense-disclosure-guide) で定めた一線です。**ペイロードを1つ間違えるより、向ける先を1つ間違える方が、はるかに重大**です。手を動かす環境は [自宅の合法ラボ](/blog/ethical-hacking-home-lab-kali-juice-shop-ctf-self-study-roadmap-guide)（localhost限定の OWASP Juice Shop）を前提に進めます。

---

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

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

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

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

---

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

[PortSwigger Web Security Academy](https://portswigger.net/web-security/all-topics) は、脆弱性を学習難易度順に3層へ整理しています。本クラスタもこの構造に沿って深掘りします。

### 2.1 サーバーサイド（まず学ぶべき土台）

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

- **[SQLインジェクション](/blog/sql-injection-attack-techniques-union-blind-sqlmap-waf-bypass-guide)** — クエリに介入しDBを読み書きする。UNION・ブラインド・時間ベース。
- **OSコマンドインジェクション** — サーバーのシェルに任意コマンドを送り込む。
- **[SSRF](/blog/ssrf-attack-techniques-cloud-metadata-blind-filter-bypass-guide)** — サーバーに内部リソース（クラウドメタデータ等）へリクエストさせる。
- **[サーバーサイドテンプレートインジェクション（SSTI）](/blog/server-side-template-injection-ssti-rce-detection-exploitation-guide)** — テンプレート構文を注入しRCEへ。
- **アクセス制御の不備（IDOR）** — 他人のリソースに触れる。**OWASP A01、最頻出。**
- **パストラバーサル / ファイルアップロード / XXE / NoSQLi**

### 2.2 クライアントサイド

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

- **[クロスサイトスクリプティング（XSS）](/blog/xss-attack-techniques-reflected-stored-dom-csp-bypass-guide)** — 反射・蓄積・DOM。被害者のブラウザでJSを実行。
- **CSRF / CORSの設定不備 / クリックジャッキング / WebSockets**

### 2.3 高度なトピック

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

- **[JWT攻撃](/blog/jwt-attack-techniques-alg-none-key-confusion-secret-cracking-guide)** — 署名検証の不備・alg混同・鍵ブルートフォース。
- **[認証の脆弱性](/blog/authentication-vulnerabilities-brute-force-2fa-bypass-attack-guide)** — 列挙・総当たり・2FAバイパス。
- **安全でないデシリアライズ / HTTPリクエストスマグリング / GraphQL / Webキャッシュポイズニング / プロトタイプ汚染 / Web LLM攻撃**

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

---

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

初学者ほど「どのツールを使うか」に目が行きますが、**ツールは方法論の道具にすぎません**。中心にあるのは常に [Burp Suite](/blog/burp-suite-getting-started-proxy-repeater-intruder-web-security-testing-guide) のような割り込みプロキシで、**通信を観察し → 仮説を立て → 1変数だけ変えて再送し → 差分を観察する**という反復です。

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

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

自動スキャナ（Burp Scanner / [OWASP ZAP](/blog/web-application-vulnerability-assessment-owasp-zap-sast-dast-guide)）も重要ですが、役割が違います。

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

---

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

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

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

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

---

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

1. まず本ピラーで**攻撃クラスの地図と方法論**を頭に入れる。
2. 環境を [合法ラボ](/blog/ethical-hacking-home-lab-kali-juice-shop-ctf-self-study-roadmap-guide) で用意し、[Burp Suite](/blog/burp-suite-getting-started-proxy-repeater-intruder-web-security-testing-guide) をセットアップする。
3. 各スポーク（[SQLi](/blog/sql-injection-attack-techniques-union-blind-sqlmap-waf-bypass-guide) / [XSS](/blog/xss-attack-techniques-reflected-stored-dom-csp-bypass-guide) / [SSRF](/blog/ssrf-attack-techniques-cloud-metadata-blind-filter-bypass-guide) / [JWT](/blog/jwt-attack-techniques-alg-none-key-confusion-secret-cracking-guide) / [認証](/blog/authentication-vulnerabilities-brute-force-2fa-bypass-attack-guide) / [SSTI](/blog/server-side-template-injection-ssti-rce-detection-exploitation-guide)）を、ラボで手を動かしながら読む。
4. 力がついたら [バグバウンティ](/blog/bug-bounty-getting-started-hackerone-bugcrowd-scope-report-disclosure-guide) で合法に実戦投入する。

---

## 6. まとめ

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

次は、最頻出かつ最も影響の大きい [SQLインジェクション攻撃の完全攻略](/blog/sql-injection-attack-techniques-union-blind-sqlmap-waf-bypass-guide) から手を動かしていきましょう。

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

---

### 参考（公式一次情報）

- [PortSwigger Web Security Academy（全トピック）](https://portswigger.net/web-security/all-topics)
- [OWASP Top 10:2025](https://owasp.org/Top10/2025/) ／ [OWASP Web Security Testing Guide (WSTG)](https://owasp.org/www-project-web-security-testing-guide/)
- [OWASP Cheat Sheet Series](https://cheatsheetseries.owasp.org/)
