giả mạo từ lĩnh vực tôn giáo trong một email


9

Làm cách nào tôi có thể thao tác trường "từ" trong email và làm cho người dùng "đến" thấy điều gì đó khác biệt so với thực tế.

Thí dụ:

thực sự từ

From: TStamper@yahoo.com

nhưng họ thấy

From: Tremayne "Top Dog" Stamper

Tôi đã nghe thấy nó từ việc thao túng SMTP, nhưng thực sự không chắc nó chính xác đến mức nào hoặc làm thế nào nó có thể được thực hiện


2
Tôi thấy điều này là một vấn đề hợp lệ. Chúng tôi làm điều này mọi lúc (đặc biệt là tạo một e-mail từ một phần mềm trông giống như nó đang gửi cho người dùng).
C. Ross

Tôi đồng ý rằng đó có thể là một vấn đề hợp lệ nếu bạn muốn thay đổi trường Từ để hiển thị một cái gì đó như tên thật thay vì địa chỉ. Chúng tôi làm điều đó tất cả thời gian trong hệ thống của chúng tôi cũng. Đó chỉ là một chút cờ vì ví dụ trong câu hỏi, thay đổi từ địa chỉ này sang địa chỉ khác. Thư rác.
squillman

được cập nhật với ví dụ tốt hơn
TStamper

Đó là lý do tại sao họ tạo ra các bản ghi SPF
Elijah Glover

Câu trả lời:


14

Về cơ sở, SMTP chỉ là một giao thức dựa trên văn bản mà không có xác minh thực sự. Đây là một ví dụ:

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

Dòng "MAIL TỪ:" xác định người gửi phong bì SMTP và Từ: được xác định trong DATA thông báo. Có nhiều cách để bảo vệ chống lại điều này, nhưng chúng được định nghĩa trong logic máy chủ thư chứ không phải trong chính giao thức.

Ví dụ, với tư cách là nhà cung cấp thư, có thể yêu cầu người dùng xác thực bằng tên người dùng loại tên miền @. Sau đó, máy chủ thư của tôi có thể yêu cầu bất kỳ thư nào họ gửi đều có người gửi phong bì và tiêu đề From: khớp với người dùng mà họ đã xác thực là. Các công nghệ bổ sung như DKIM và SPF cũng có thể giúp ích trong lĩnh vực này.


8

Có một vài điều khác nhau để xem xét ở đây. Nếu bạn chỉ muốn hiển thị một tên hoặc địa chỉ e-mail khác, hãy đặt tiêu đề "Từ" của tin nhắn (tin nhắn từ địa chỉ) thành địa chỉ e-mail với tên hiển thị trong ngoặc như vậy:

Từ: Joe Ví dụ <joe@example.com>

Hãy nhớ rằng dòng "từ" trong tiêu đề thư chỉ được sử dụng cho mục đích hiển thị. Việc định tuyến thực tế được thực hiện bởi địa chỉ phong bì SMTP. Đây là những gì các máy chủ SMTP thực sự sử dụng để truyền thông điệp giữa các máy chủ. Điều này có thể khác với tiêu đề "từ" tin nhắn. Nếu bạn có một công cụ SMTP tùy chỉnh, chỉ cần sử dụng một địa chỉ trong phong bì SMTP và một địa chỉ khác trong tiêu đề "từ" trên thư thực tế.

Có một số lý do chính đáng mà bạn có thể muốn làm điều này, nhưng xin vui lòng kiềm chế các mục đích bất chính.

Lưu ý rằng một ví dụ cú pháp đúng có thể được tìm thấy trong RFC 5322 - A.2.1


1
Ví dụ về khung là sai, ngược lại
jj33

Đã sửa; đã được một thời gian kể từ khi tôi thực hiện loại điều này.
Justin Scott

Tôi đã cập nhật lại ngay bây giờ để phù hợp với RFC 822
Mike Graf

1
@MikeGraf 822 đã được thay thế ít nhất hai lần, 5322 là tốt hơn.
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:
.

Tất nhiên, bạn sẽ cần một máy chủ SMTP cho phép chuyển tiếp, gần như không thể tìm thấy ... hoặc tự cuộn (chỉ không sử dụng kiến ​​thức này để spam!).


2

Địa chỉ "thực sự từ" xuất phát từ hộp thoại "từ:" trong cuộc hội thoại SMTP.

"Giả từ" xuất phát từ việc khai thác thông lệ chung trong các ứng dụng email của khách hàng về việc hiển thị các trường tiêu đề khác nhau như được nêu trong phần Dữ liệu của cuộc hội thoại SMTP. Ví dụ:

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

Nếu bạn đã bỏ qua các dòng "từ:" và "đến:" trong phần Dữ liệu, nó sẽ hiển thị người gửi và người nhận phong bì thực tế.

Lưu ý rằng các loại thủ thuật này thường được tìm kiếm bởi các bộ lọc thư rác và chắc chắn sẽ không kết bạn với bất kỳ người bạn vĩnh viễn nào. Ngoài ra, điều này không hoạt động trên tất cả các ứng dụng thư khách (chỉ những ứng dụng phổ biến nhất).


1

Có, đó là bằng cách thiết lập thủ công SMTP và không quan trọng để thực hiện. Google nó. Nhưng đừng để bị bắt spam.


0

Đây là 2c của tôi ra khỏi mã - được viết bằng 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);
    }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.