メールの「from」フィールドを操作して、「to」ユーザーに実際とは異なるものを表示させるにはどうすればよいですか。
例:
本当にから
From: [email protected]
彼らは見る
From: Tremayne "Top Dog" Stamper
SMTPの操作から聞いたことがありますが、それがどれほど正確で、どのように実行できるかは本当にわかりません
基本的に、SMTPは実際の検証を行わない単なるテキストベースのプロトコルです。次に例を示します。
=== Trying g3.example.net:25...
=== Connected to g3.example.net.
<- 220 home.example.net ESMTP Exim 4.68 Thu, 07 May 2009 11:03:21 -0400
-> EHLO g3.example.net
<- 250-home.example.net Hello g3.example.net [192.168.0.4]
<- 250-SIZE 52428800
<- 250-PIPELINING
<- 250-AUTH CRAM-SHA1 CRAM-MD5 MSN
<- 250-STARTTLS
<- 250 HELP
-> MAIL FROM:<[email protected]>
<- 250 OK
-> RCPT TO:<[email protected]>
<- 250 Accepted
-> DATA
<- 354 Enter message, ending with "." on a line by itself
-> Date: Thu, 07 May 2009 11:03:21 -0400
-> To: [email protected]
-> From: [email protected]
-> Subject: test Thu, 07 May 2009 11:03:21 -0400
-> X-Mailer: swaks v20070921.0-dev jetmore.org/john/code/#swaks
->
-> This is a test mailing
->
-> .
<- 250 OK id=KJA4HL-0006M6-8T
-> QUIT
<- 221 home.example.net closing connection
=== Connection closed with remote Host.
"MAIL FROM:"行はSMTPエンベロープ送信者を定義し、From:はメッセージDATAで定義されています。これを防ぐ方法はいくつかありますが、プロトコル自体ではなく、メールサーバーロジックで定義されます。
たとえば、私はメールプロバイダーとして、user @ domainタイプのユーザー名を使用してユーザーに認証を要求する場合があります。次に、私のメールサーバーでは、送信するすべてのメールに、エンベロープ送信者と、認証されたユーザーと一致するFrom:ヘッダーが必要になる場合があります。 DKIMやSPFなどの追加のテクノロジーもこの分野で役立ちます。
ここで考慮すべき点がいくつかあります。別の名前または電子メールアドレスを表示するだけの場合は、メッセージの "差出人"ヘッダー(メッセージの差出人アドレス)を、表示名を角かっこで囲んで電子メールアドレスに設定します。
From:Joeの例<[email protected]>
メッセージヘッダーの「from」行は表示目的でのみ使用されることに注意してください。実際のルーティングは、SMTPエンベロープアドレスによって行われます。これは、サーバー間でメッセージを送信するためにSMTPサーバーが実際に使用するものです。これは、メッセージの「from」ヘッダーとは異なる場合があります。カスタムSMTPエンジンがある場合は、SMTPエンベロープで1つのアドレスを使用し、実際のメッセージの "from"ヘッダーで別のアドレスを使用するようにします。
これを実行する正当な理由はいくつかありますが、悪意のある目的は控えてください。
正しい構文の例は RFC 5322-A.2.1 にあります。
telnet some_smtp_server.com 25
ehlo whatsup
mail from: [email protected]
rcpt to: [email protected]
data
your message here
end with a dot on a single line like this:
.
もちろん、リレーを許可するSMTPサーバーが必要ですが、これを見つけることはほとんど不可能です...または自分でロールする(この知識をスパムに使用しないでください!)。
「really from」アドレスは、SMTP会話の「from:」ダイアログから取得されます。
「偽物」は、SMTPカンバセーションのデータ部分に配置されたさまざまなヘッダーフィールドを表示するという電子メールクライアントの一般的な慣行を利用することから来ています。例えば:
# telnet mail.example.com 25
Connected to mail.example.com.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix
helo fakeserver
250 mail.example.com
mail from: [email protected]
250 2.1.0 OK
rcpt to: [email protected]
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
from: [email protected]
to: [email protected]
subject: This is a subject
This is the body.
.
250 2.0.0 Ok: queued as 90D0F95A06
quit
221 2.0.0 Bye
Connection closed by foreign Host.
#
データ部分の「from:」行と「to:」行を省略した場合、実際のエンベロープ送信者と受信者が表示されます。
これらの種類のトリックはスパムフィルターによって検索されることが多く、永続的な友達にはならないことに注意してください。また、これはすべてのメールクライアント(最も一般的なもののみ)では機能しません。
はい、SMTPヘッダーを手動で設定することにより、簡単に実行できます。グーグルそれ。しかし、スパムに巻き込まれないでください......
これはコードから直接私の2c-C#で書かれました
public static void SendSpam(string message, string to)
{
System.Net.Mail.MailMessage myMessage = new System.Net.Mail.MailMessage("Fake Name", to);
myMessage.Subject = "SPAM";
myMessage.Body = message;
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("mail.mailserver.com", 25);
System.Net.NetworkCredential c = new System.Net.NetworkCredential("[email protected]", "realpassword");
client.Credentials = c;
client.Send(myMessage);
}