Ciao
non e' cosi' strano se per caso ti hanno inserito anche un file .htaccess con redirect
Verifica che sia quello corretto di Joomla (se lo usi) o sovrascrivilo con un corretto .htaccess, se invece non lo usi semplicemente cancellalo.
Puoi provare questo script, lo invia a mezzo FTP sul server e lo lanci digitando sul browser ilnomedeltuosito/virus-find.php
<?php
/*
Semplice analisi recursiva di file con stringhe per il redirect o php codificate
ICV 20130201
da usare prima o dopo il file per rimuovere la lista dei files infetti su configurazioni joomla
*/
ini_set('max_execution_time', '0');
ini_set('set_time_limit', '0');
echo "<h1>Solo analisi recursiva di tutti i files per stringhe di </h1><p><b>document rewrite , encode64 , document.write</b> del sito:</p>";
$nomesito=$_SERVER['SERVER_NAME'];
echo "<h2><a href=http://".$nomesito.">".$nomesito."</a></h2><br>";
echo'<a target=\"_new\" href=virus-find.php>Scansione dei files probabilmente infettati</a><br>';
echo'<a target=\"_new\" href=virus-remove.php>Eseguire la rimozione dei files malevoli solo in specifiche directory</a><br>';
echo'<a target=\"_new\" href=virus-htaccess.php>Eseguire la rimozione di tutti i files htaccess infettati</a><br>';
// ini_set('max_execution_time', '0');
// ini_set('set_time_limit', '0');
find_files('.');
function find_files($seed) {
if(! is_dir($seed)) return false;
$files = array();
$dirs = array($seed);
while(NULL !== ($dir = array_pop($dirs)))
{
if($dh = opendir($dir))
{
while( false !== ($file = readdir($dh)))
{
if($file == '.' || $file == '..') continue;
$path = $dir . '/' . $file;
if(is_dir($path)) { $dirs[] = $path; }
else { if(preg_match('/^.*\.(php[\d]?|txt|js|htaccess)$/i', $path)) { check_files($path); }}
}
closedir($dh);
}
}
}
function check_files($this_file)
{
$str_to_find[]='eval(gzinflate(base64_decode';
$str_to_find[]='RewriteRule'; // tipicamente in dentro .htaccess
$str_to_find[]='document.write'; // dentro a file javascript
$str_to_find[]='document.write(\'<iframe'; // specifico per virus
if(!($content = file_get_contents($this_file)))
{ echo("<p><b>Non posso leggere:</b> $this_file Verificare manualmente il contenuto!</p>\n"); }
else
{
while(list(,$value)=each($str_to_find))
{
if (stripos($content, $value) !== false)
{
echo("<p>$this_file -> contiene <b>$value</b></p>\n");
}
}
}
unset($content);
}?>
Una volta mostrati a video i potenziali files infetti
non li devi cancellare tutti, ma devi sapere esattamente quali si possono cancellare e quali no.
i vari files nelle sottodir TMPL ad esempio non vanno cancellati, ma esaminati a manoni.
Esempio: /tmpl/default.php
Stessa cosa per i Javascript, molti hanno al loro interno la regola di Document Write non necessariamente malevola.
I file con codice php offuscato tipo eval(gzinflate(base64 salvo particolari casi invece sono tutti malevoli.
Puoi copia e incollare il codice usare uno dei tanti servii online che decodificano lo script oppure farti un PHP che utilizzando la funzione inversa te lo decodifichi in automatico.
Gli .htaccess invece, salvo protezione di qualche directory particolare in linea di massima si possono eliminare, comunque usa il tools solo per una ricerca poi lavora via FTP.
Ho contattato diversi hoster per il mio problema e naturalmente hanno negato ogni possibile infrazione, ma dopo la segnalazione i casi si sono molto ridotti, forse sara' stata solo fortuna.