メールヘッダインジェクション【情報処理安全確保支援士講座】

今回は、情報処理安全確保支援士の試験で問われるメールヘッダインジェクションについて解説します。


メールヘッダインジェクション

メールヘッダインジェクションは、ユーザがフォームに入力したデータからメールを送信するWebアプリケーション上で実施される攻撃です。
不正なメールヘッダをメールに混入させ、意図していないaddressに迷惑メールを送信するあなど、メール送信機能を悪用します。

メールヘッダインジェクションの攻撃例
送信先のメールアドレス(To)が固定され、送信元のアドレス(From)と本文をフォームから入力する仕組みとなっているメール通信プログラムの例を挙げます。
送信元のアドレスとして改行コードとメールヘッダを含む文字列を入力すると、意図しないaddressにメールが送られる可能性があります。例えば下記のような仕様のメール送信フォームを考えてみましょう。
- Toアドレス:example@sikaku-no-iroha.co.jp
- Fromアドレス:フォームから入力
このメールヘッダを生成し、sendmailコマンドに引き渡すことでメールを送信します。ここで、「ts@test.com%0d%0aBcc%3a%20target@test.jp」といった文字列をFromアドレスに入力すると、下記のようなメールヘッダが生成され、意図しないアドレスにメールが送信されてしまいます。
- Toアドレス:example@sikaku-no-iroha.co.jp
- Fromアドレス:ts@test.com
- Bccアドレス:target@test.jp
メールヘッダインジェクションの対策方法
メールヘッダインジェクションの対策方法は下記が挙げられます。
- メールヘッダをすべて固定値にし、ユーザの入力値はメールヘッダに出力しない
- Webアプリケーションの実行環境や言語に実装されているメール送信用のAPIを使用する
- メールヘッダとして用いるユーザ入力データに対して改行コードのチェックを行う
メールヘッダインジェクション・例題
実際に例題を解いて問題に慣れていきましょう。
問
Webアプリケーションの問い合わせフォームから送信された利用者の入力内容を、そのまま電子メールの件名や宛先などのメールヘッダに設定して送信している。
このとき、利用者入力に改行コードを埋め込むことで、攻撃者がBccやCcなどの任意のメールヘッダを追加し、不正な大量メール送信を可能にする脆弱性を何というか。(オリジナル)
ア:SMTPコマンドインジェクション
イ:クロスサイトスクリプティング
ウ:メールヘッダインジェクション
エ:オープンリダイレクト
(ログイン後回答すると、ここに前回の正誤情報が表示されます)
メールヘッダインジェクション・まとめ
今回はメールヘッダインジェクションについて学習しました。メールヘッダインジェクションは午後(科目B)で出題実績があるので、対策方法を含めて確認しておきましょう。
次回はディレクトリトラバーサルについて学習します。
支援士の知識を、実際の問題で確かめよう
理解を得点力につなげる
情報処理安全確保支援士試験の過去問題・シラバス準拠問題を無料で掲載しています。 解説と図解を活用しながら、科目A-2の知識を科目Bで使える理解へつなげましょう。
- 科目Bにつながる体系的な知識 正解を覚えるだけでなく、類題で使える判断軸まで学べます。
- 復習に使える図解シート メモや試験直前の見直しにも使える解説画像を無料でダウンロードできます。
- シラバス準拠問題で未知問題対策 過去問だけでは補いにくい未出・薄出論点にも挑戦できます。
アカウント登録なしでも、すべての問題を無料で利用できます
無料登録すると、解答履歴・正答率・復習状況が保存され、続きから学習できます








Discussion
New Comments
No comments yet. Be the first one!