sg threat_vulnerability unauthorized_access data_leakage sg-security-overview
まず結論
- メールヘッダーインジェクションとは、入力フォームに改行文字などを埋め込み、メールのヘッダーや本文を不正に改ざんする攻撃です。
- SG試験では「入力値をそのまま使う設計の弱さ(脆弱性)」を突く攻撃として問われます。
直感的な説明
お問い合わせフォームに名前やメールアドレスを入力すると、その内容がメールとして送信されますよね。
もしその入力欄に
「改行+別の宛先」
を仕込めたらどうなるでしょうか?
👉 本来送るはずのメールに、勝手に別の宛先や内容が追加されてしまいます。
定義・仕組み
メールヘッダーインジェクションは、Webフォームなどの入力値に改行コード(CRLF)を含めることで、メールのヘッダー情報を不正に追加・変更する攻撃です。
典型的な仕組み
- 入力フォームに悪意ある文字列を入力
- 改行コードを使ってヘッダーを分断
- 新しいヘッダー(To、Cc、Bccなど)を追加
- 不正なメール送信や情報漏えいが発生
👉 「入力値がそのままメールに使われる」ことが原因
どんな場面で使う?
よくある対象
- お問い合わせフォーム
- 会員登録フォーム
- メール送信機能を持つWebアプリ
業務でのポイント
- 入力値の検証(バリデーション)が重要
- 改行コードの除去・無効化
- フレームワークの安全な関数を使う
👉 開発・設計ミスを突く攻撃(脆弱性利用)
よくある誤解・混同
❌ フィッシングとの違い
- フィッシング:人をだまして入力させる
- ヘッダーインジェクション:システムの不備を突く
👉 人を狙う vs システムを狙う
❌ SQLインジェクションとの違い
- SQLインジェクション:データベース操作を改ざん
- ヘッダーインジェクション:メールの構造を改ざん
👉 対象が違う(DBかメールか)
❌ 迷いやすいポイント(SG試験)
-
「改行コード」「入力フォーム」「ヘッダー追加」
→ このキーワードが出たらメールヘッダーインジェクション -
「だまして入力させる」ならフィッシング系
確認問題(SG試験対策)
次のうち、メールヘッダインジェクションの説明として最も適切なものはどれか。
A. 入力値に改行などを混入させ、メールヘッダを不正に追加・改変する攻撃である。 B. メール送信時に利用者認証を行う正規の仕組みである。 C. メール本文を暗号化し、電子署名を付ける仕組みである。 D. DNSに送信元メールサーバを登録してなりすましを防ぐ仕組みである。
▶ クリックして答えと解説を見る(ここを開く)
正解:A
解説
- A:ヘッダを不正に差し込むことで、宛先追加などが起こり得ます。
- B:SMTP-AUTHの説明です。
- C:S/MIMEの説明です。
- D:SPFの説明に近いです。
👉 判断ポイント メールヘッダインジェクションは「入力値でメールヘッダを壊す・追加する」攻撃。
まとめ(試験直前用)
- メールヘッダーインジェクション=改行でメール構造を改ざん
- 入力値をそのまま使う設計ミスが原因
- フィッシングは人、インジェクションはシステムを狙う
- 「改行コード」「ヘッダー追加」が出たら即判断
🔗 関連記事
- 攻撃者の種類とは?目的と特徴で整理する【情報セキュリティマネジメント】
- 認証方式とは?3要素と多要素認証を整理【SG試験】
- ブラックリストとホワイトリストの違いとは?判断基準を整理【情報セキュリティマネジメント】
- ブロック暗号とストリーム暗号の違いとは?暗号方式を整理【SG試験】
- ボットとは?遠隔操作される仕組みを理解する【情報セキュリティマネジメント】