ChallengedServiceのバナー
 
ヘッダー研究
 
 
メールヘッダーの例 (ベクターさんからのもの)
Return-Path: <ownersoftnews@ml.vector.co.jp>
Received: from ml.vector.co.jp (postman3.vector.co.jp [211.13.211.47])
by server.phoenix-jp.info (8.12.8/8.12.8) with SMTP id iAR1HdZv005769
for <taka@phoenix-jp.info>; Sat, 27 Nov 2004 10:17:40 +0900
X-Delivered-To: taka@phoenix-jp.info
Received: (qmail 8045 invoked by alias); 27 Nov 2004 09:00:10 +0900
Delivered-To: softnewssend00@ml.vector.co.jp
Received: (qmail 8031 invoked by uid 1028); 27 Nov 2004 09:00:02 +0900
Date: 27 Nov 2004 09:00:02 +0900
Message-ID: <20041127000002.8030.qmail@ml.vector.co.jp>
From: Vector Softnews Veckuru <articlemgr@vector.co.jp>
To: Vector Softnews Readers <ownersoftnews@vector.co.jp>
Reply-To: Vector Softnews Veckuru <articlemgr@vector.co.jp>
Errors-To: ownersoftnews@ml.vector.co.jp
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
Subject: [=?iso-2022-jp?B?GyRCJVklQyUvJWsbKEI=?=:2004.11.27] =?iso-2022-jp?B?GyRCJVklLyU/ITwbKEI=?= =?iso-2022-jp?B?GyRCJT0lVSVIPnBKcyVhITwlaxsoQg==?=
Status:
メールヘッダーの説明
Return-Path:

ヘッダの一番上に付ける事になってる
Return-Path:フィールドは、一番最後にメールを受け取ったSMTPサーバが、Received:フィールドの更に上に付ける。ただし、必須フィールドではないので付けないサーバもある。
送信側で付けるものではない

エンベロープ
メールはヘッダと本文の2つで構成されるが、これとは別に封筒(エンベロープ)がある
エンベロープはメールソフトやサーバが自動的に生成
ユーザが普通にメールを読み書きしていても目に触れないかもしれない
SMTPの一般的なエンベロープには、MAIL FROM:とRCPT TO:がある
MAIL FROM:は封筒に書かれた送信者のアドレス。もし配送に問題が出た場合、このアドレス宛に通知メールが届く。
RCPT TO:は封筒に書かれた受信者のアドレス
メールサーバは、メールヘッダと本文を読むのではなく、エンベロープのアドレスを読んで配送を行なっている
ヘッダのFrom:とSMTPエンベロープのMAIL FROM:が異なる場合、エラー通知はオリジナルの著者ではなく管理者に届いた方が都合がいい

Received:

Received:フィールドは、ヘッダの一番上に付ける事になっている。だから、何台も経由した場合、下から上にReceived:フィールドがどんどん増えていくことになる
SMTPの場合はRFC2821の決まりで次のようになる。
fromのドメインからbyのドメインがviaの接続方法を使ってwithの転送方法で受け取り、区別する番号がidで、forのアドレス宛。「;」以降は受け取った日時。
このとき必須になるのは、「from」、「by」、「;日時」の3つとなる

たとえば
Received: from ml.vector.co.jp (postman3.vector.co.jp [211.13.211.47])
by server.phoenix-jp.info (8.12.8/8.12.8) with SMTP id iAR1HdZv005769
for <taka@phoenix-jp.info>; Sat, 27 Nov 2004 10:17:40 +0900
X-Delivered-To: taka@phoenix-jp.info
computer (ml.vector.co.jp [211.13.211.47])がserver.phoenix-jp.infoのメールサーバーに接続して、「taka@phoenix-jp.info」宛てへメールを送信
サーバー時計: Sat, 27 Nov 2004 10:17:40 +0900

メッセージID 送信するメール毎の番号でMessage-Id:は、メールを1通1通区別するための文字列
<20041127000002.8030.qmail@ml.vector.co.jp>
@の右は サーバー名またはコンピュータ名またはIPアドレス
Message-IDは、Microsoft Outlook Expressなどのメーラーによって送信されたメールに特有のものです
件名(Subject:)

メールの主題や要旨といったものを書くフィールド
[=?iso-2022-jp?B?GyRCJVklQyUvJWsbKEI=?=:2004.11.27] =?iso-2022-jp?B?GyRCJVklLyU/ITwbKEI=?= =?iso-2022-jp?B?GyRCJT0lVSVIPnBKcyVhITwlaxsoQg==?=
"B" encodingと"Q" encodingがISO-2022-JPのメールヘッダが化けた
この場合"B" encodingに対応していなかった為に、そのまま表示された
元に戻せば=? 文字コード ? 変換方式 ? 内容 ?=

MIME(マルチメディア・データを扱うためのファイル形式)
決まりが出来て、Subject:等のフィールドで英語以外が使えるようになる。これはASCIIの文字列に変換してしまう方法で、"B" encodingと"Q" encodingの2種類がある
RFC2822で決められたインターネットメッセージフォーマットは、ASCIIのテキストだけを扱う。
ASCII以外の文字コードやバイナリ(音声、画像、動画等)を扱う場合は、MIMEという拡張方法を使う事になっている。

From: From:はメールを書いた人のアドレスで、Sender:は送った人のアドレス
普通はFrom:とSender:が同じなので、Sender:の方を省略
To: To:は送り先
Cc:はコピー(Carbon Copy)の送り先。メール自体はTo:宛だが、読んでおいて欲しい複数の人に使う。
Bcc:(Blind Carbon Copy)の送り先。ここに書いたアドレスはヘッダから消え去るので、受取人は誰が受け取ったかわからない
Date: メールを送信した時間。例えば、「送信」ボタンを押す瞬間
必須のフィールドなので、サーバに渡すときにメールソフトが付けなければならない
27 Nov 2004 09:00:02 +0900
+0900という数字は時間帯(time zone)であり、協定世界時(UTC)との時差
日本からだと+0900で、緯度ゼロの地域からだと+0000。地域に関係なく世界時(UT)のままで表したいときは-0000
メーラ(Mailer)
例)
X-Mailer: Microsoft Outlook Express 5.50.4133.2400
メッセージ本文の種類(Content-Type)
メッセージ本文の種類。通常のテキストでは「text/plain」。 Content-Type: text/plain; charset="ISO-2022-JP"
text/plain(テキストメール)
iso-2022-jp(日本語)
In-Reply-To: と References: RFC2822で定義。
この2つは返信のときに付けるべきもの。元のメールのMessage-Id:を引用することで、どのメールへの返信かを表す。
普通、メールソフトで返信メールを書けば自動的に付く
In-Reply-To:は、直接の元メールのMessage-Id:を付ける。複数の元メールに返信するときは、それらのMessage-Id:を全部付ける
References:は、元メールのReferences:とMessage-Id:の中身を全部つける。
元メールにReferences:がなかったら、In-Reply-To:とMessage-Id:の中身を全部付ける。
だから、何度もメールをやり取りするとどんどん増える
Reply-To: Reply-To:は返信先のアドレスであり、From:とは別のアドレスに返信して欲しいときに使います
Resent- 再送(resent)のためのフィールド
ユーザが一度受け取ったメールを、そのまんま他に送った事を示す
多くのソフトは転送(forward)の機能を持っていますが、ヘッダフィールドは新しく作る。Subject:に「Fw: 」とか「転送:」とかの文字を付け加える
最も簡単で多く行われているヘッダの偽造は、上記のFrom:行を書き換えるものです。
皆さんがお使いのメーラーの設定メニューには、自分のアドレスや名前を入力する部分が当然あるはずです。その部分を書き換えるだけで、From:行は簡単に書き換えることができてしまいます。これはつまり、誰でも自分以外の誰かに簡単になりすましてメールを送ることができるということです。
Return-Path: <ero@abc-ghi-jp.info>ここが改ざんできた
Received: from server.phoenix-jp.info (220.107.124.100) by
pegasus.nic-name.co.jp with ESMTP
(Eudora Internet Mail Server 3.2.6) for <taka001@honki.net>;
Sun, 28 Nov 2004 15:48:01 +0900
Received: from xx2 (xx2.phoenix-jp.info [192.168.1.13])
by server.phoenix-jp.info (8.12.8/8.12.8) with ESMTP id iAS6m1Zv010525
for <taka001@honki.net>; Sun, 28 Nov 2004 15:48:01 +0900
Message-ID: <000701c4d516$3b2d0720$0d01a8c0@xx2>
From: =?iso-2022-jp?B?GyRCMjYbKEI=?=名前を【俺】にしたため文字化け <ero@abc-ghi-jp.info>ここが改ざんできた
From: "ero"今度は名前を【ero】にしたら表示 <ero@abc-ghi-jp.info>
To: <taka001@honki.net>
Subject: TEST
Date: Sun, 28 Nov 2004 15:48:12 +0900
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1437
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441
From:行だけでなReturn-Path:行も改ざんできてしまった

 

 
     
     
 
《戻る》 《TOP》