Skip to the content.

まず結論

  • メールヘッダーインジェクションとは、入力フォームに改行文字などを埋め込み、メールのヘッダーや本文を不正に改ざんする攻撃です。
  • SG試験では「入力値をそのまま使う設計の弱さ(脆弱性)」を突く攻撃として問われます。

直感的な説明

お問い合わせフォームに名前やメールアドレスを入力すると、その内容がメールとして送信されますよね。

もしその入力欄に
「改行+別の宛先」
を仕込めたらどうなるでしょうか?

👉 本来送るはずのメールに、勝手に別の宛先や内容が追加されてしまいます。


定義・仕組み

メールヘッダーインジェクションは、Webフォームなどの入力値に改行コード(CRLF)を含めることで、メールのヘッダー情報を不正に追加・変更する攻撃です。

典型的な仕組み

  1. 入力フォームに悪意ある文字列を入力
  2. 改行コードを使ってヘッダーを分断
  3. 新しいヘッダー(To、Cc、Bccなど)を追加
  4. 不正なメール送信や情報漏えいが発生

👉 「入力値がそのままメールに使われる」ことが原因


どんな場面で使う?

よくある対象

  • お問い合わせフォーム
  • 会員登録フォーム
  • メール送信機能を持つWebアプリ

業務でのポイント

  • 入力値の検証(バリデーション)が重要
  • 改行コードの除去・無効化
  • フレームワークの安全な関数を使う

👉 開発・設計ミスを突く攻撃(脆弱性利用)


よくある誤解・混同

❌ フィッシングとの違い

  • フィッシング:人をだまして入力させる
  • ヘッダーインジェクション:システムの不備を突く

👉 人を狙う vs システムを狙う


❌ SQLインジェクションとの違い

  • SQLインジェクション:データベース操作を改ざん
  • ヘッダーインジェクション:メールの構造を改ざん

👉 対象が違う(DBかメールか)


❌ 迷いやすいポイント(SG試験)

  • 「改行コード」「入力フォーム」「ヘッダー追加」
    → このキーワードが出たらメールヘッダーインジェクション

  • 「だまして入力させる」ならフィッシング系


確認問題(SG試験対策)

次のうち、メールヘッダインジェクションの説明として最も適切なものはどれか。

A. 入力値に改行などを混入させ、メールヘッダを不正に追加・改変する攻撃である。 B. メール送信時に利用者認証を行う正規の仕組みである。 C. メール本文を暗号化し、電子署名を付ける仕組みである。 D. DNSに送信元メールサーバを登録してなりすましを防ぐ仕組みである。

▶ クリックして答えと解説を見る(ここを開く)

正解:A

解説

  • A:ヘッダを不正に差し込むことで、宛先追加などが起こり得ます。
  • B:SMTP-AUTHの説明です。
  • C:S/MIMEの説明です。
  • D:SPFの説明に近いです。

👉 判断ポイント メールヘッダインジェクションは「入力値でメールヘッダを壊す・追加する」攻撃。


まとめ(試験直前用)

  • メールヘッダーインジェクション=改行でメール構造を改ざん
  • 入力値をそのまま使う設計ミスが原因
  • フィッシングは人、インジェクションはシステムを狙う
  • 「改行コード」「ヘッダー追加」が出たら即判断

🔗 関連記事


🏠 情報セキュリティマネジメントトップに戻る