campo "da" falso in un'e-mail


9

Come posso manipolare il campo "da" in un'e-mail e fare in modo che l'utente "a" veda qualcosa di diverso dall'attuale.

Esempio:

davvero da

From: TStamper@yahoo.com

ma loro vedono

From: Tremayne "Top Dog" Stamper

Ne ho sentito parlare manipolando SMTP, ma in realtà non sono sicuro di quanto sia preciso o come possa essere fatto


2
Vedo questo come un problema valido. Lo facciamo sempre (in particolare facciamo in modo che un'e-mail proveniente da un software sembri spedire per un utente).
C. Ross,

Sono d'accordo che può essere un problema valido se si desidera modificare il campo Da per visualizzare qualcosa come un nome reale anziché un indirizzo. Lo facciamo sempre anche nei nostri sistemi. È solo un po 'una bandiera a causa dell'esempio nella domanda, passando da un indirizzo all'altro. Esca spam.
Squillman,

aggiornato con un esempio migliore
TStamper

Ecco perché hanno creato i record SPF
Elijah Glover,

Risposte:


14

Alla sua base, SMTP è solo un protocollo basato su testo senza una vera verifica. Ecco un esempio:

=== 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:<jj33@g3.example.net>
<-  250 OK
 -> RCPT TO:<jj33@g3.example.net>
<-  250 Accepted
 -> DATA
<-  354 Enter message, ending with "." on a line by itself
 -> Date: Thu, 07 May 2009 11:03:21 -0400
 -> To: jj33@g3.example.net
 -> From: jj33@g3.example.net
 -> 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.

La riga "MAIL FROM:" definisce il mittente della busta SMTP e Da: è definito nel messaggio DATA. Esistono modi per proteggersi da questo, ma sono definiti nella logica del server di posta, non nel protocollo stesso.

Ad esempio, come fornitore di posta, potrebbe essere necessario che un utente esegua l'autenticazione utilizzando un nome utente tipo utente @ dominio. Quindi il mio server di posta potrebbe richiedere che qualsiasi posta che inviano abbia un mittente busta e un'intestazione From: che corrisponda all'utente come autenticato. Tecnologie aggiuntive come DKIM e SPF possono aiutare anche in questo settore.


8

Ci sono un paio di cose diverse da considerare qui. Se si desidera solo visualizzare un nome o un indirizzo e-mail diverso, impostare l'intestazione "Da" del messaggio (il messaggio dall'indirizzo) all'indirizzo e-mail con il nome visualizzato tra parentesi come tale:

Da: Joe Esempio <joe@example.com>

Ricorda che la riga "da" nell'intestazione del messaggio viene utilizzata solo a scopo di visualizzazione. Il routing effettivo viene eseguito dall'indirizzo della busta SMTP. Questo è ciò che i server SMTP utilizzano effettivamente per trasmettere il messaggio tra i server. Questo può essere diverso dall'intestazione del messaggio "from". Se si dispone di un motore SMTP personalizzato, basta utilizzare un indirizzo nella busta SMTP e uno diverso nell'intestazione "da" sul messaggio effettivo.

Ci sono una serie di motivi legittimi che potresti voler fare, ma per favore astieniti da scopi nefasti.

Si noti che un esempio di sintassi corretto è disponibile in RFC 5322 - A.2.1


1
L'esempio di parentesi è sbagliato, è al contrario
jj33

Fisso; è passato un po 'di tempo da quando ho implementato questo genere di cose.
Justin Scott,

L'ho aggiornato di nuovo ora per abbinare RFC 822
Mike Graf il

1
@MikeGraf 822 è stato sostituito almeno due volte, 5322 è migliore.
Patrick Mevzek,

2
telnet some_smtp_server.com 25
ehlo whatsup
mail from: JohnBaker@yahoo.com
rcpt to: recipient@somewhere.com
data
your message here
end with a dot on a single line like this:
.

Ovviamente avrai bisogno di un server SMTP che consenta l'inoltro, che è quasi impossibile da trovare ... o crearne uno tuo (semplicemente non usare questa conoscenza per spam!).


2

L'indirizzo "davvero da" proviene dalla finestra di dialogo "da:" nella conversazione SMTP.

Il "falso da" deriva dallo sfruttamento della pratica comune nei client di posta elettronica di visualizzare i vari campi di intestazione come indicato nella parte Dati della conversazione SMTP. Per esempio:

# 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: real@example.com
250 2.1.0 OK
rcpt to: real@example.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
from: fake@example.com
to: you@example.com
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.
#

Se avessi lasciato fuori le righe "da:" e "a:" nella parte Dati, avrebbe visualizzato il mittente e il destinatario della busta effettivi.

Nota che questi tipi di trucchi sono spesso cercati dai filtri antispam e non ti renderanno sicuramente amici permanenti. Inoltre, questo non funziona su tutti i client di posta (solo i più comuni).


1

Sì, è impostando manualmente le intestazioni SMTP ed è banale da realizzare. Google esso. Ma non farti catturare dallo spamming ......


0

Questo mio 2c è uscito dal codice - scritto in 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("realusername@mailserver.com", "realpassword");
        client.Credentials = c;
        client.Send(myMessage);
    }
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.