Ein schon etwas älterer Hack ist unter dem Namen “Wordpress Pharma Hack” bekannt geworden: Dabei wird irgendwo in dem genutzten Theme (zum Beispiel in der Datei “header.php”) ein Code eingebaut, der Links zu Online-Apotheken oder Glücksspielseiten und zusätzlichen Code für Werbebanner enthält.
So könnte der Virus aussehen:
In der Regel unterscheidet der Code zwischen der Haupt-Seite der WordPress Installation und den Unterseiten und zeigt unterschiedliche Inhalte an. Die Mischung aus PHP- und Javascript-Code kann zum Beispiel so aussehen:
<?php if ($_SERVER[“REQUEST_URI”] == ‘/’) { ?> <span class=”css23″> … <a href=”…”>…</a>. … <a href=”…”>…</a>. </span> <?php } else {?> <?php } ?><script>!function(){var e=document.getElementsByClassName(“css23″);for(var t in e){var l=e[t];try{var o=Math.floor(1e3*Math.random(1,100)),a=”<div id=’_hl”+o+”‘>”+l.outerHTML+”</div>”;l.outerHTML=a;var i=document.getElementById(“_hl”+o);i.style.display=”inline-block”,i.style.width=”1px”,i.style.height=”1px”,i.style.overflow=”hidden”}catch(e){}}}();</script>
Virus löschen
Diesen Code zu löschen hilft aber alleine nicht: Er wird durch ein Skript in der Regel wieder schnell neu eingefügt. Dieses Skript wird mittlerweile von zahlreichen Sicherheits-Plugins erkannt: WordFence nennt den Schädling “Backdoor:PHP/rogueinclude.6167”. Er nistet sich dabei in der Datei “wp-config.php” ein und versucht, dort Daten aus “/wp-includes/init.php” nachzuladen: Diese Datei gehört nicht zum eigentlichen WordPress System und sollte gelöscht werden.
Code in der Datei “wp-config.php”:
include_once(ABSPATH . ‘/wp-includes/init.php’);
Diesen Code sollte man direkt entfernen und auch die Datei “init.php” löschen. Anschließend müssen die Zugangsdaten aller Nutzer, auch zu der Datenbank geändert werden: Die Zugangsdaten zur Datenbank stehen nämlich auch in der Datei “wp-config.php”, auf die der Virus Zugriff hatte.
Anschließend muss man noch das Theme überprüfen und die Werbung oder verdächtigen Links dort löschen: Dazu beginnt man am besten mit dem Header. Zur Sicherheit sollte man die WordPress-Installation danach noch mit einem Schutz-Plugin wie Wordfence überprüfen: Dies sucht auch in der kostenlosen Version schon nach Malware und zeigt, welche Dateien verdächtig sind. Den Werbe-Code im Header des Themes hat WordFence zwar nicht erkannt, dafür den Eintrag in der Datei wp-settings.php.