http://www.helkern.co.cc/tools/VSpam.zip
PHP код:
<?php
error_reporting(0);
set_time_limit(0);
ignore_user_abort();
ini_set("error_log", NULL);
ini_set("log_errors", 0);
$ver="VSpam 1.0";
$settings="settings.txt";
$good="good.txt";
$bad="bad.txt";
$stat="stat.txt";
$head="
<html>
<head>
<title>$ver :: [ From: ".getenv("REMOTE_ADDR")." ]</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">
<style>
A:link {
text-decoration: none; color:white; face: \"Times New Roman\";
}
A:visited { text-decoration: none; color:white; face: \"Times New Roman\"; }
A:active { text-decoration: none; color:white; face: \"Times New Roman\"; }
A:hover { text-decoration: none; color: black; face: \"Times New Roman\"; }
BODY{ scrollbar-face-color:black; scrollbar-arrow-color:gray; scrollbar-track-color:gray; scrollbar-shadow-color:gray; scrollbar-highlight-color:gray; scrollbar-3dlight-color:gray; scrollbar-darkshadow-Color:gray; }
input {
BACKGROUND-COLOR: black;
color: gray;
}
textarea {
BACKGROUND-COLOR: black;
color: gray;
}
</style>
</head>
<body bgcolor=black text=gray>
";
$logo="<b><pre>
|--- ---| <font face=\"Courier New\" size=2><i>/* ".$ver." */</i></font>
| V V |
| V V | eeee nn n ttttt rrrr u u eeee
| V V | e e n n n t r r u u e e
| V V | eeeee n n n t rrrr u u eeeee
| V V | e n n n t r r u u e
|--- VVV ---| eeeee n nn t r r uuuu u eeeee
</pre></b>
<font face=\"Times New Roman\" size=2>[ <a href=\"http://www.ventrue-group.net\">http://www.ventrue-group.net</a> ]</font><br>
<b>-----------------------------------------------------------------------------------------------------
</b><br>";
$foot="<p><center><b><font face=\"Times New Roman\" size=2>© [V]entrue Group</b></font></center></body></html>";
echo $head;
echo $logo;
$set=fopen($settings, "a+") or die("<font face=\"Times New Roman\" size=2><b>Can't open settings file ($settings)</font></b>");
while(!feof($set)) {
$curset=trim(fgets($set, 1024));
$curset=explode("=", $curset);
if($curset[0]=="Mail_From")
$from_val=$curset[1];
else if($curset[0]=="Reply_To")
$reply_val=$curset[1];
else if($curset[0]=="Mail_To")
$to_val=$curset[1];
else if($curset[0]=="Mail_Subject")
$subject_val=$curset[1];
else if($curset[0]=="Mail_Body")
$body_val=$curset[1];
}
fclose($set);
echo "<form method=post>";
echo "<table border=0 cellspacing=0 cellpadding=0 width=100%>";
echo "<tr><td valign=top><font face=\"Times New Roman\" size=2><b>Mail From:</b></font></td><td valign=top><input type=text name=mail_from size=75 value=\"".$from_val."\"></td></tr><tr><td valign=top><font face=\"Times New Roman\" size=2><b>Reply To:</b></font></td><td valign=top><input type=text name=mail_reply size=75 value=\"".$reply_val."\"></td></tr><tr><td valign=top><font face=\"Times New Roman\" size=2><b>Mail To (File):</b></font></td><td valign=top><input type=text name=mail_to size=75 value=\"".$to_val."\"></td></tr><tr><td valign=top><font face=\"Times New Roman\" size=2><b>Mail Subject (File):</b></font></td><td valign=top><input type=text name=mail_subject size=75 value=\"".$subject_val."\"></td></tr><tr><td valign=top><font face=\"Times New Roman\" size=2><b>Mail Body (File):</b></font></td><td valign=top><input type=text name=mail_body size=75 value=\"".$body_val."\"></td></tr><tr><td valign=top colspan=2><br><center><input type=submit value=\"Send\"> <input type=reset value=\"Reset\"></center></td></tr>";
echo "</table>";
echo "</form>";
if(isset($_POST["mail_from"]) && !empty($_POST["mail_from"]) && isset($_POST["mail_reply"]) && !empty($_POST["mail_reply"]) && isset($_POST["mail_to"]) && !empty($_POST["mail_to"]) && isset($_POST["mail_subject"]) && !empty($_POST["mail_subject"]) && isset($_POST["mail_body"]) && !empty($_POST["mail_body"])) {
$mail_from=$_POST["mail_from"];
$mail_to=$_POST["mail_to"];
$mail_subject=$_POST["mail_subject"];
$mail_body=$_POST["mail_body"];
$mail_reply=$_POST["mail_reply"];
$set=fopen($settings, "w+");
fwrite($set, "Mail_From=$mail_from\r\n");
fwrite($set, "Reply_To=$mail_reply\r\n");
fwrite($set, "Mail_To=$mail_to\r\n");
fwrite($set, "Mail_Subject=$mail_subject\r\n");
fwrite($set, "Mail_Body=$mail_body");
$mt=fopen($mail_to, "r");
$ms=fopen($mail_subject, "r");
$mb=fopen($mail_body, "r");
$f_good=fopen($good, "a+");
$f_bad=fopen($bad, "a+");
if(!$mt || !$ms || !$mb) {
echo "<font face=\"Times New Roman\" size=2><b>Can't open file(s)</font></b>";
exit();
}
while(!feof($mb))
$data.=fgets($mb, 1024);
$count_a=0;
echo "<font face=\"Times New Roman\" size=2><b>After finished spam see the $stat</font></b>";
while(!feof($mt)) {
if(feof($ms))
rewind($ms);
$sub=trim(fgets($ms, 128));
$to=trim(fgets($mt, 128));
$m_ver=rand(3000, 3100);
$headers = "From: <$mail_from>\r\n".
"Reply-To: $mail_reply <$mail_reply>\r\n".
"X-Mailer: Outlook Express 6.00.2720.$m_ver"."\r\n".
"X-Priority: 3 (Normal)\r\n".
"X-Spam: Not detected\r\n".
"X-Spam-Flag: NO\r\n".
"Content-type: text/plain; charset=win-1251\r\n";
if(mail($to, $sub, $data, $headers))
fwrite($f_good, $to."\r\n");
else
fwrite($f_bad, $to."\r\n");
if(eregi("[a-z0-9A-Z\._-]+@[a-zA-Z0-9\._-]+\.[a-z]{2,4}", $to))
$count_a++;
}
rewind($f_good);
rewind($f_bad);
$count_g=0;
$count_b=0;
while(!feof($f_good)) {
$data=fgets($f_good, 1024);
if(eregi("[a-z0-9A-Z\._-]+@[a-zA-Z0-9\._-]+\.[a-z]{2,4}", $data))
$count_g++;
}
while(!feof($f_bad)) {
$data=fgets($f_bad, 1024);
if(eregi("[a-z0-9A-Z\._-]+@[a-zA-Z0-9\._-]+\.[a-z]{2,4}", $data))
$count_b++;
}
$f_stat=fopen($stat, "w+");
fwrite($f_stat, "Total Mails: ".$count_a."\r\n");
fwrite($f_stat, "Total Goods: ".$count_g."\r\n");
fwrite($f_stat, "Total Bads: ".$count_b."\r\n");
fclose($f_stat);
fclose($mt);
fclose($ms);
fclose($mb);
fclose($set);
fclose($f_good);
fclose($f_bad);
}
echo $foot;
?>
усложненный вариант, "По функционалу спаммер в принципе нормальный, в ближайшем будушем прикручу к нему методы обхода спам систем, а также возможность заливки спам баз и их редактирования" (с) Helkern
|