bidang "dari" palsu dalam email

9

Bagaimana saya bisa memanipulasi bidang "dari" di email dan membuat pengguna "ke" melihat sesuatu yang berbeda dari yang sebenarnya.

Contoh:

benar-benar dari

From: [email protected]

tetapi mereka melihat

From: Tremayne "Top Dog" Stamper

Saya sudah mendengar dari memanipulasi SMTP, tetapi benar-benar tidak yakin seberapa akurat itu atau bagaimana hal itu dapat dilakukan

TStamper
sumber
2
Saya melihat ini sebagai masalah yang valid. Kami melakukan ini sepanjang waktu (terutama membuat e-mail dari perangkat lunak terlihat seperti mengirim untuk pengguna).
C. Ross
Saya setuju bahwa ini bisa menjadi masalah yang valid jika Anda ingin mengubah bidang Dari untuk menampilkan sesuatu seperti nama asli dan bukan alamat. Kami melakukan itu sepanjang waktu di sistem kami juga. Itu hanya sedikit bendera karena contoh dalam pertanyaan, berubah dari satu alamat ke alamat lainnya. Umpan spam.
squillman
diperbarui dengan contoh yang lebih baik
TStamper
Thats why mereka membuat catatan SPF
Elijah Glover

Jawaban:

14

Pada dasarnya, SMTP hanyalah protokol berbasis teks tanpa verifikasi nyata. Ini sebuah contoh:

=== 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.

Baris "MAIL FROM:" mendefinisikan pengirim amplop SMTP, dan Dari: ditentukan dalam pesan DATA. Ada beberapa cara untuk melindungi dari ini, tetapi mereka didefinisikan dalam logika server surat, bukan dalam protokol itu sendiri.

Misalnya saya, sebagai penyedia email, mungkin meminta pengguna untuk mengautentikasi menggunakan nama pengguna tipe domain @. Kemudian server email saya mungkin mensyaratkan bahwa setiap email yang mereka kirim memiliki pengirim-amplop dan header Dari: yang cocok dengan pengguna yang diautentikasi. Teknologi tambahan seperti DKIM dan SPF dapat membantu di bidang ini juga.

jj33
sumber
8

Ada beberapa hal yang perlu dipertimbangkan di sini. Jika Anda hanya ingin menampilkan nama atau alamat email yang berbeda, atur tajuk "Dari" pesan (pesan dari alamat) ke alamat email dengan nama tampilan dalam kurung seperti:

Dari: Joe Example <[email protected]>

Ingat bahwa baris "dari" di header pesan hanya digunakan untuk tujuan tampilan. Perutean aktual dilakukan oleh alamat amplop SMTP. Inilah yang sebenarnya digunakan server SMTP untuk mengirimkan pesan di antara server. Ini bisa berbeda dari header pesan "dari". Jika Anda memiliki mesin SMTP khusus, cukup gunakan satu alamat di amplop SMTP dan yang berbeda di header "dari" pada pesan yang sebenarnya.

Ada sejumlah alasan yang sah bahwa Anda mungkin ingin melakukan ini, tetapi tolong jangan melakukan hal-hal jahat.

Perhatikan bahwa contoh sintaks yang benar dapat ditemukan di RFC 5322 - A.2.1

Justin Scott
sumber
1
Braket contoh adalah salah, itu mundur
jj33
Tetap; sudah lama sejak saya menerapkan hal semacam ini.
Justin Scott
Saya memperbaruinya lagi sekarang untuk mencocokkan RFC 822
Mike Graf
1
@MikeGraf 822 digantikan setidaknya dua kali, 5322 lebih baik.
Patrick Mevzek
2
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:
.

Tentu saja Anda akan memerlukan server SMTP yang memungkinkan relai, yang hampir tidak mungkin ditemukan ... atau roll sendiri (hanya saja jangan gunakan pengetahuan ini untuk spam!).

Ivan
sumber
2

Alamat "really from" berasal dari dialog "from:" di percakapan SMTP.

"Palsu dari" berasal dari mengeksploitasi praktik umum di klien email untuk menampilkan berbagai bidang tajuk sebagaimana tercantum dalam bagian Data dari percakapan SMTP. Contohnya:

# 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.
#

Jika Anda telah meninggalkan "dari:" dan "ke:" baris di bagian Data, itu akan menampilkan pengirim dan penerima amplop yang sebenarnya.

Perhatikan bahwa trik semacam ini sering dicari oleh filter spam, dan tentu saja tidak akan membuat Anda menjadi teman tetap. Selain itu, ini tidak berfungsi pada semua klien email (hanya yang paling umum).

sh-beta
sumber
1

Ya, itu dengan mengatur tajuk SMTP secara manual dan mudah untuk dilakukan. Google itu. Tapi jangan ketahuan melakukan spamming ......

squillman
sumber
0

Ini 2c saya langsung dari kode - ditulis dalam 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);
    }
Dani
sumber