SSRFの全体像まとめ|WordPress視点で理解する攻撃手法とバイパス技術【WSA対応】

SSRF(Server-Side Request Forgery)は、サーバーに意図しないリクエストを送らせる脆弱性です。

一見すると単純な仕組みに見えますが、内部ネットワークへのアクセスや、最終的にはRCE(リモートコード実行)につながる可能性もある危険な攻撃です。

本記事では、Web Security Academyで扱われているSSRFラボをベースに、WordPress視点で攻撃の流れを整理しました。

各攻撃パターンごとに関連記事へリンクしているので、全体像を掴みながら理解を深めていくことができます。

SSRFの基本的な仕組みについては、こちらの記事で詳しく解説しています。

SSRFとは何か|仕組み・できること・対策を解説

【SSRFの攻撃フロー】

SSRFは単体の脆弱性というより、段階的に発展していく攻撃です。

以下の流れで理解すると、全体像がつかみやすくなります。

ユーザー入力
   ↓
サーバーが外部にアクセス(SSRF)
   ↓
内部ネットワークへ侵入
   ↓
フィルタ回避・別経路の利用
   ↓
Blind SSRF(見えない攻撃)
   ↓
RCE(最終的な侵害)

① 基本のSSRF(攻撃の入口)

最も基本的なSSRFは、ユーザーが指定したURLにサーバーがアクセスしてしまう状態です。

この段階でも、localhostや内部ネットワークにアクセスできるため、十分に危険です。

localhostへのアクセス

WordPressで考えるSSRF│localhostにアクセスする攻撃│Basic SSRF against the local server解説

内部ネットワークへのアクセス

WordPressで考えるSSRF│内部ネットワークをスキャンする攻撃|Basic SSRF against another back-end system解説

localhostと内部ネットワークの違い

localhostと内部ネットワークの違いとは│初心者向けに図解でわかりやすく解説

② フィルタ回避(バイパス技術)

実際の環境では、ある程度の対策(ブラックリスト・ホワイトリスト)が入っていることが多いです。

しかし、SSRFはURLの解釈の違いを突くことで、これらの対策を回避できます。

ブラックリスト回避

WordPressで考えるSSRF対策の回避テクニック|ブラックリストでの防御はなぜ破られるのか

ホワイトリストバイパス

WordPressで考えるSSRFホワイトリストバイパス|URL解釈のズレで内部アクセスが可能になる仕組み

③ 別経路からの侵入(オープンリダイレクト)

直接内部にアクセスできない場合でも、オープンリダイレクトを利用することで、サーバーに内部アクセスをさせることができます。

これは、外部URLに見せかけて内部へ誘導するテクニックです。

オープンリダイレクト経由のSSRF

【WordPressで考えるSSRF】オープンリダイレクトで内部APIにアクセスする方法|WSAラボ解説

④ Blind SSRF(見えない攻撃)

Blind SSRFは、リクエストは送られるがレスポンスが見えないタイプのSSRFです。

そのため、攻撃者は外部サーバー(OASTなど)を使って、通信が発生したかどうかを確認します。

Refererヘッダーから発火するSSRF

WordPressで考えるBlind SSRF|Refererヘッダーから発火する見えない攻撃と検知方法

⑤ SSRFからRCEへ(最終段階)

SSRF単体では情報取得にとどまることも多いですが、他の脆弱性と組み合わせることで、サーバー上でのコマンド実行につながることがあります。

Blind SSRF × Shellshock

WordPressで考えるBlind SSRFとShellshock|見えない攻撃が内部サーバーに到達する仕組み


攻撃者視点で見るSSRF

SSRFは「サーバーにリクエストを送らせる」だけのシンプルな脆弱性ですが、攻撃者はその先を見ています。

狙いは単なる外部アクセスではなく、サーバーがアクセスできる内部領域です。

内部ネットワークへの侵入

攻撃者がまず狙うのは、localhostや内部IPです。

  • 127.0.0.1(localhost)
  • 192.168.x.x / 10.x.x.x(内部ネットワーク)

これらは通常、外部から直接アクセスできませんが、SSRFを使えばサーバー経由でアクセスできてしまいます。

管理機能・内部APIの探索

内部にアクセスできるようになると、次に探すのは管理系のエンドポイントです。

  • 管理画面(/admin など)
  • 内部API
  • 開発用エンドポイント

認証が甘い場合や、内部専用前提で設計されている場合、不正操作につながる可能性があります。

クラウドメタデータの取得

クラウド環境では、メタデータサービスが大きな攻撃対象になります。

例えば、サーバーのIAMロール情報や認証トークンが取得できるケースがあります。

これはSSRFの中でも特に深刻な被害につながるポイントです。

ポートスキャン・サービス探索

SSRFは単なるアクセスだけでなく、内部の状態を調べる用途にも使われます。

  • 特定ポートが開いているか
  • サービスが応答するか
  • エラーの違いによる判別

このようにして、内部ネットワークの構造を把握していきます。

見えない攻撃(Blind SSRF)の活用

レスポンスが見えない場合でも、攻撃は止まりません。

  • 外部サーバーへの通信(OAST)
  • DNSリクエストの発生
  • ログの変化

こうした「間接的な証拠」を使って、攻撃の成功を確認します。

SSRFは入口にすぎない

重要なのは、SSRF単体がゴールではないという点です。

攻撃者は以下のように段階的に進めていきます。

  • 内部アクセスの確立
  • 情報収集
  • 脆弱なエンドポイントの発見
  • 別の脆弱性と組み合わせる
  • 最終的にRCEへ

SSRFは、その最初の足がかりとして使われることが多い脆弱性です。


WordPressで現実に起こるポイント

SSRFは特別な環境だけで発生するものではありません。

WordPressでも、以下のような機能で発生する可能性があります。

  • OGP取得機能
  • RSSフィード読み込み
  • 外部API連携
  • Webhook機能
  • プラグインの外部通信処理

外部URLをそのまま取得する処理がある場合、それはそのままSSRFの入口になります。


なぜSSRFは危険なのか

SSRFが厄介なのは、以下の特徴を持つためです。

  • サーバーの権限で内部にアクセスできる
  • 通常の機能に見えるため気づきにくい
  • Blind SSRFの場合は結果が見えない
  • 他の脆弱性と組み合わせて被害が拡大する

特に見えない攻撃である点が、発見と対策を難しくしています。


セキュリティ診断で見るべきポイント

SSRFの観点でチェックすべきポイントは以下です。

  • 外部URLを受け取る機能があるか
  • URLのバリデーションが適切か
  • 内部IPへのアクセスが制限されているか
  • curl / file_get_contents などの使用箇所
  • プラグインの外部通信処理

詳細な診断方法については、別記事で解説予定です。


まとめ

SSRFは単純な構造の脆弱性ですが、攻撃が段階的に発展していく点が特徴です。

  • 基本SSRFで内部にアクセス
  • バイパスで制限を突破
  • Blind SSRFで検知を回避
  • 最終的にRCEへつながる

WordPressでも外部通信を行う機能は多く、決して他人事ではありません。

本記事で全体像を押さえたうえで、各詳細記事を読むことで、SSRFへの理解をより深められます。

SSRFの基本から理解したい場合は、以下の記事もあわせてご覧ください。

SSRFとは何か|仕組み・できること・対策を解説


このブログの運営環境

  • WordPress
  • GeneratePress
  • エックスサーバー

エックスサーバー公式サイト