Анонимная отправка писем. Наверное достаточно актуальная проблема для любетилей социальной инженерии, да и вообще может пригодится. 1) Протокол SMTP... 1. Регим почту, к примеру на яндексе (лучше на менее крупных сайтах, к примеру с мейл.ру такое не прокатывает). 2. Кодируем логин, а потом и пароль в base64 (к примеру на php это сделать проще простого <?php echo(base64_encode('string')); ?>). 3. Дальше конектимся телнетом к smtp серваку (адрес как правило можно найти почитав раздел "помощь - как настроить аутлук и т.д.") на 25 порт (cmd telnet smtp.yandex.ru 25). Вводим логин и пасс, вводим письмо с указанном в хейдере левом мылом и все... На практике это выглядит так: cmd telnet yandex.ru 25 HELO Grey - здесь просто указываем имя, тут в принципе можно написать что угодно. AUTH LOGIN - это необходимо для авторизации, дальше нужно ввести логин и пароль закодированные в base64. bG9naW4= - логин в данном случае слово login cGFzc3dvcmQ= - пароль в данном случае слово password MAIL FROM: login@yndex.ru - здесь пишем пока что реальный адрес RCPT TO: lam@yandex.ru - здесь пишем адрес кому отправлям DATA - с этой строки начинается тело письма From: xaker@yandex.ru - здесь пишем уже левый адрес именно он и будет отображатся при получение письма To: lam@yandex.ru - здесь еще раз пишем кому отправляем письмо Subject: Тест... - здесь заголовок письма бла бла бла бла бла - здесь текст письма бла бла бла - и здесь тоже . - точка на новой строке означает конец тела письма QUIT - отключаемся от smtp сервака. 2) Используя язык PHP. Напишем небольшой скриптик для отправки письма (используя функцию mail()): PHP: <?php //----------------------------------- $to = 'lam@yandex.ru'; // Кому письмо $subject = 'Тест'; // Тема пиьсма $from = 'xaker@yandex.ru'; // От кого письмо $message = 'бла бла бла'; // Текст пиьсма //----------------------------------- $header = "From: ".$from; mail($to, $subject, $message, $header); ?> Отправка письма в HTML. Наверное многие любители фейков или просто СИ в целом, не отказались бы отправлять письма в ввиде HTML. Это не сложно, опять два варианта: 1) Протокол SMTP... cmd telnet yandex.ru 25 HELO Grey - здесь просто указываем имя, тут в принципе можно написать что угодно. AUTH LOGIN - это необходимо для авторизации, дальше нужно ввести логин и пароль закодированные в base64. bG9naW4= - логин в данном случае слово login cGFzc3dvcmQ= - пароль в данном случае слово password MAIL FROM: login@yndex.ru - здесь пишем пока что реальный адрес RCPT TO: lam@yandex.ru - здесь пишем адрес кому отправлям DATA - с этой строки начинается тело письма From: xaker@yandex.ru - здесь пишем уже левый адрес именно он и будет отображатся при получение письма To: lam@yandex.ru - здесь еще раз пишем кому отправляем письмо Subject: Тест... - здесь заголовок письма Content-type: text/html - теперь письмо будет выполнятся как html! <h1>123123</h1> - тело письма . - точка на новой строке означает конец тела письма QUIT - отключаемся от smtp сервака. Как можно заметить ничего особо сложного не прибавилось, достаточно указать в хейдере еще один параметр в котором будет наисано что письмо типа text/html. 2) Используя язык PHP. PHP: <?php //----------------------------------- $to = 'lam@yandex.ru'; // Кому письмо $subject = 'бла бла бла'; // Тема пиьсма $from = 'xaker@yandex.ru'; // От кого письмо $message = '<h1>бла бла бла</h1>'; // Текст пиьсма с html тегами //----------------------------------- $header = "From: ".$from."\r\nContent-type: text/html"; mail($to, $subject, $message, $header); ?> Как видно ничего сложного ни в анонимной отправке ни в отправке письма в ввиде html страницы нету. А вот помочь в использование СИ, фейках и т.д. это может очень даже сильно. P.S. статью писал сам специально для этого форума (здесь ничего по этому вопросу я не нашел), так что видеть копи/паст не хочу (статей на эту тему полно, но тут на мой взгляд все расписано более понятно и рационально), максимум я это напишу еще на, родном мне, ачате.
А вот модифицированный скрипт. Адресаты берутся из файла, есть возможность добавления аттача. Скрин: Код: Код: <html> <head> <title>Mail</title> <style type="text/css"> body {font-family: Arial, Helvetica, sans-serif;font-size: 11px;} td {font-family: Arial, Helvetica, sans-serif;font-size: 11px;} h1 {font-family: Arial, Helvetica, sans-serif;font-size: 16px; color:#72BA75; } a {font-family: Arial, Helvetica, sans-serif;font-size: 11px;color : #000000;text-decoration: underline;} a:hover{font-family: Arial, Helvetica, sans-serif;font-size: 11px;color : #294A7B;text-decoration: none;} INPUT.button {padding:0px;height: 21px;font-family:Tahoma; font-size:12px;color:#FFFFFF; background-color:#B9BAC8; border: 1px solid #F7F7F7; cursor: pointer;font-weight: bold;} INPUT.inp {border: 1px solid #B9BAC8;background-color:#FFFFFF; font-size:11px;height: 18px; font-family:Arial;} textarea.inp {border: 1px solid #B9BAC8;background-color:#FFFFFF; font-size:11px; font-family:Arial;} </style> </head> <body> <?php $message_in_min = 10000; $mode = $HTTP_POST_VARS['mode']; switch($mode){ case 'send': if(isset($HTTP_POST_FILES['filename']['tmp_name'])){ $base_name = $HTTP_POST_FILES['filename']['name']; $f = fopen($HTTP_POST_FILES['filename']['tmp_name'],"rb"); $attach = base64_encode(fread($f,filesize($HTTP_POST_FILES['filename']['tmp_name']))); $isfile = 1; } else {$isfile = 0;} # Проверки ################################################################# $from = $HTTP_POST_VARS['from']; if(empty($from)){echo("Неуказан адрес отправителя");exit;} else if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i",$from)){echo("$from - не верный адрес отправителя"); exit;} $fromname = @$HTTP_POST_VARS['fromname']; if(isset($fromname)){$from = $fromname." <$from>";} $subject = $HTTP_POST_VARS['subject']; $subject = htmlspecialchars(stripslashes($subject)); if(!$subject){echo("Опять же, кто будет писать тему сообщения?");} $type = $HTTP_POST_VARS['type']; $message = $HTTP_POST_VARS['message']; if($type == 'text'){$message = htmlspecialchars(stripslashes($message));} if(!$message){echo("Короче, нужно что то написать. Где сообщение-то?"); exit;} ############################################################################ $to_arr = file(@$HTTP_POST_FILES['to']['tmp_name']); // print_r($to_arr);exit; $to_arr = array_unique($to_arr); $i = 0; $current_message= 0; $num_send = 0; $num_bad = 0; $num_error= 0; while(isset($to_arr[$i])){ $to_arr[$i] = trim($to_arr[$i]); if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i",$to_arr[$i])){ echo($to_arr[$i].' - голимый адрес, я на его отправлять ничего не собираюсь'."<br>\n"); $num_bad++; } else{ if(sendemail($from,$to_arr[$i],$subject,$message,$type)){ echo('Сообщение на '.$to_arr[$i]." отправлено<br>\n"); flush(); $num_send++; } else{$num_error++;} } $current_message++; if($current_message == $message_in_min){ $current_message = 0; echo('Отправлено '.$message_in_min.' соообщений. Пауза 60 сек.'."<br>\n"); flush(); sleep(30); echo('<!---->'."\n"); flush(); sleep(30); } $i++; } echo('<hr size="1" color="#000000">Рассылка завершена!<br>'."\n"); echo(' <b>Отправлено : '.$num_send.'</b> <b>Ошибок связи: '.$num_error.'</b> <b>Плохих email: '.$num_bad.'</b> <hr size="1" color="#000000"> '); break; default: echo(' <div align="center"> <h1>Рассылка писем</h1> <form method="post" enctype="multipart/form-data"> <table align="center" border="0"> <tr> <td align="right" bgcolor="#EBEBEB"><strong>От кого (Имя):</strong></td> <td><input type="Text" class="inp" name="fromname" value="" size="30"> * - Не обязательно. Например, Пупкин И.И.</td> </tr> <tr> <td align="right" bgcolor="#EBEBEB"><strong>От кого (Email):</strong></td> <td><input type="Text" class="inp" name="from" value="" size="30"> * - Только email адрес</td> </tr> <tr> <td align="right" bgcolor="#EBEBEB"><strong>Кому:</strong></td> <td><input type="File" name="to" class="inp" size="68"></td> </tr> <tr> <td align="right" bgcolor="#EBEBEB"><strong>Тема:</strong></td> <td><input type="Text" class="inp" name="subject" value="" size="80"></td> </tr> <tr> <td valign="top" align="right" bgcolor="#EBEBEB"><strong>Сообщение:</strong></td> <td><textarea name="message" rows="10" cols="82" class="inp"></textarea></td> </tr> <tr> <td align="right" bgcolor="#EBEBEB"><strong>Фаил:</strong></td> <td><input type="File" name="filename" class="inp" size="68"></td> </tr> <tr> <td align="right" bgcolor="#EBEBEB"><strong>Формат</strong></td> <td> <table width="100%"> <tr> <td width="20"><input class="inp" type="Radio" name="type" value="text" checked></td> <td width="40">text </td> <td width="20"><input class="inp" type="Radio" name="type" value="html"></td> <td width="40">html</td> <td align="right"><input type="Hidden" name="mode" value="send"><input type="Submit" class="inp" value="Отправить"></td> </tr> </table> </td> </tr> <tr> <td bgcolor="#EBEBEB"></td> <td><hr size="3" color="#F7F7F7"></td> </tr> </table> </form> </div> '); break; } function sendemail($from,$to,$subject,$message,$type){ $bound = time().'SPB'; global $attach, $base_name, $isfile; $sep = chr(13).chr(10); // Разделитель строк заголовка switch($type){ case 'text': $headers = "From: ".$from.$sep; $headers.= "X-Priority: 3".$sep; $headers.= "X-MSMail-Priority: Normal".$sep; $headers.= "X-Mailer: PHP/".phpversion().$sep; $headers.= "MIME-Version: 1.0".$sep; $headers.= "Content-Type: multipart/mixed; boundary=\"".$bound."\"".$sep.$sep; $body = "--$bound".$sep; $body.= "Content-type: text/plain; charset=\"windows-1251\"".$sep; $body.= "Content-Transfer-Encoding: 8bit".$sep.$sep; $body.= $message.$sep; if($isfile == 1){ $body.= "$sep$sep--$bound".$sep; $body.= "Content-Type: application/octet-stream;"; $body.= "name=\"".basename($base_name)."\"".$sep; $body.= "Content-Transfer-Encoding:base64".$sep; $body.= "Content-Disposition:attachment".$sep.$sep; $body.= $attach.$sep; } // $body.="$bound--".$sep.$sep; break; case 'html': $headers = "From: ".$from.$sep; $headers.= "X-Priority: 3".$sep; $headers.= "X-MSMail-Priority: Normal".$sep; $headers.= "X-Mailer: PHP/".phpversion().$sep; $headers.= "MIME-Version: 1.0".$sep; $headers.= "Content-Type: multipart/mixed; boundary=\"".$bound."\"".$sep.$sep; $body = "--$bound".$sep; $body.= "Content-type: text/html; charset=\"windows-1251\"".$sep; $body.= "Content-Transfer-Encoding: 8bit".$sep.$sep; $body.= $message.$sep; if($isfile == 1){ $body.= "$sep$sep--$bound".$sep; $body.= "Content-Type: application/octet-stream;"; $body.= "name=\"".basename($base_name)."\"".$sep; $body.= "Content-Transfer-Encoding:base64".$sep; $body.= "Content-Disposition:attachment".$sep.$sep; $body.= $attach.$sep; } // $body.="$bound--".$sep.$sep; break; default: echo('<center><b>Неверный параметр типа письма.</b></center>'); break; } if(mail($to,$subject,$body,$headers)){return true;} else{return false;} } ?> </body> </html>
А вот если каму надо для держателей сайтов. Пример тут. Код: <style type="text/css"> <!-- .incode { font-size: 12px; width: 60px; text-align: center; } .butt { height: auto; font-size: 12px; text-align: center; color: #666666; font-family: Verdana, Arial, Helvetica, sans-serif; } .tabletka { border: 1px dashed #999999; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #666666; } .Zagol { font-size: 24px; font-family: Verdana, Arial, Helvetica, sans-serif; } --> </style> </head> <body> <br /> <?php if($_POST['submit']) { session_start(); $string = strtoupper($_SESSION['string']); $userstring = strtoupper($_POST['userstring']); session_destroy(); if ($_POST['to'] =="") {echo '<script>alert(\'Вы не ввели адрес получателя!\');</script>';} else { if ($_POST['from'] =="") {echo '<script>alert(\'Вы не ввели адрес отправителя!\');</script>';} else { if ($_POST['title'] =="") {echo '<script>alert(\'Вы не ввели тему сообщения!\');</script>';} else { if ($_POST['mess'] =="") {echo '<script>alert(\'Вы не ввели текст сообщения!\');</script>';} else { if (($string !== $userstring) && (strlen($string) > 4)) { echo '<script>alert(\'Проверочный код введен не верно!\');</script>'; } $title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000); $mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000); If (mail($to, $title, $mess, 'From:'.$from)) { if(!file_exists($log)) { $f=fopen("$log","w"); If (!f) exit ("!"); fwrite ($f,"",0); @chmod($f, 0664); fclose($f); } $f=fopen($log,"r"); $oldData = fread($f, filesize ($log)); fclose($f); $f=fopen("$log","w+"); If (!f) exit ("!"); $str = $ip."::". $ref."::". $time."::". $_POST['to']."::". $_POST['from']."::". $_POST['title']."::". $_POST['mess']."\r\n"; fputs($f,"$str\n"); fwrite($f,$oldData); fclose($f); echo '<script>alert(\'Спасибо! Ваше письмо отправлено.\');</script>'; echo "<HTML><HEAD> <META HTTP-EQUIV='REfresh' CONTENT='0; URL=$_SERVER[PHP_SELF]'> </HEAD> </HTML>";} else {echo '<script>alert(\'Произошла ошибка! Ваше письмо не отправлено.\');</script>'; echo "<HTML><HEAD> <META HTTP-EQUIV='REfresh' CONTENT='0; URL=$_SERVER[PHP_SELF]'> </HEAD> </HTML>";} } } } } } echo " <form action='' method=POST enctype='multipart/form-data'> <div align='center'> <table border='0' cellpadding='0' cellspacing='0' class='tabletka'> <tr> <td height='24' colspan='2'><div align='center'>Кому<br /> <input type='text' name='to' size='40' value='billy@microsoft.com' onblur='if(this.value=='') this.value='billy@microsoft.com';' onfocus='if(this.value=='billy@microsoft.com') this.value='';' /> <br /> От кого<br /> <input type='text' name='from' size='40' value='vasya_pupkin@mail.ru' onblur='if(this.value=='') this.value='vasya_pupkin@mail.ru';' onfocus='if(this.value=='vasya_pupkin@mail.ru') this.value='';' /> <br /> Teма<br /> <input type='text' name='title' size='40' value='Ай нид ё мани. Паделись мля' onblur='if(this.value=='') this.value='Ай нид ё мани. Паделись мля';' onfocus='if(this.value=='Ай нид ё мани. Паделись мля') this.value='';' /> <br /> Сообщение<br /> <textarea name='mess' rows='10' cols='40'></textarea> </div></td> </tr> <tr> <td width='34' height='' valign='top'><img src='minicaptcha.php' alt='Включите эту картинку' /></td> <td width='270' valign='top'><input name='userstring' type='text' class='incode' value='' size='4' maxlength='4' /> <input name='submit' type='submit' class='butt' value='Отправить' /> <input name='Reset' type='reset' class='butt' value='Очистить' /></td> </tr> </table> </div> </form> "; ?> И фаил создания картинки. (Чтоб не написали прогу отправки писем с вашего сайта) Код: <?php $max = strlen($acceptedChars)-1; $password = NULL; $a = rand(50,99); $b = rand (1,49); $password = $a-$b; session_start(); $_SESSION['string'] = $password; header('Content-type: image/gif'); $image = imagecreatetruecolor (41, 16); $x = rand(100,155); $y = rand(100,155); $z = rand(100,155); $d = ImageColorAllocate($image, 255, 255, 255); $c = ImageColorAllocate($image, $x, $y, $z); $e = ImageColorAllocate($image, 125, 125, 125); imageFill($image,0,0, $d); ImageString($image,4,0,1, $a ,$c); ImageString($image,4,16,1, '-' ,$c); ImageString($image,4,25,1, $b ,$c); $p = 0; while ($p<1000) { $x = mt_rand(1,200); $y = mt_rand(1,200); $pixel = imagecolorat($image,$x,$y); $point = ($pixel == $z) ? $y : $x; imagesetpixel($image,$x,$y,$point); $p++; } imagepng($image); imagedestroy($image); ?> З.Ы. Прошу при распространении кода указывать на автора. (Тобиш меня)
неработает отправить письмо в html , текст приходит здесь можно отправить анонимно: _http://downloadportal.ru/email.php _http://goob.coolpage.biz/mail.php по ссылкам html у меня тоже непришло, только текст