Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから
公開日:2013年3月21日

メールヘッダー・インジェクションと対策

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

mailheaderinjection

メールヘッダー・インジェクションとは、問い合わせフォームなどのメールを送信する画面で、メールの内容を改ざんし、迷惑メールの送信などに悪用されてしまう脆弱性のことです。

メールの宛先に改行コードを挿入することで、新しいメールヘッダーを追加し、本来の宛先以外にメールを送信したり、メールの内容を改ざんしたりします。

メールヘッダー・インジェクションの対策

  • メールヘッダーを固定値にして、メール本文のみ入力させる
  • 実行環境や言語で用意されているメール送信用 API を使用する

■メールヘッダーを固定値にして、メール本文のみ入力させる

メールの宛先(To,Cc,Bcc)、件名(Subject)などのメールヘッダーを固定して、メールヘッダーに外部からの入力をさせないようにし、メール本文のみ入力できるようにします。

■実行環境や言語で用意されているメール送信用 API を使用する

メールヘッダーを固定できない場合は、実行環境や言語で用意されているメール送信用 API を使用するようにします。

悪い方法の例として、シェルで sendmail コマンドを使用する方法があります。この方法は、メールヘッダー・インジェクションだけでなく、OSコマンド・インジェクションの脆弱性も作りこんでしまう可能性があります。

  • 入力値の全ての改行コードを削除する

■入力値の全ての改行コードを削除する

外部からの入力値の全ての改行コードを削除することで、メールヘッダーの改ざんを防ぐことができます。

但し、メール本文で改行の入力を許している場合は、改行が削除されてしまうことになります。


スポンサーリンク




カテゴリー:Webアプリケーションセキュリティ

Twitter でも、いろんな情報を発信しています。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA