Wordpress Archive

Fake-Site verteilt WordPress mit Backdoor

Betrüger haben eine Website online gestellt, die der Homepage der Blogsoftware WordPress täuschend ähnlich sieht. Darüber wird eine WordPress-Version mit der Nummer 2.6.4 vertrieben. Im Packet enthalten sind alle Files der „echten“ WordPress-Version 2.6.3 („pukka“), jedoch mit einer Ausnahme: Die Datei „pluggable.php“ wurde so modifiziert, dass die Inhalte der WordPress-Cookies ausgelesen und an die Fake-Site wordpresz.org weitergeleitet werden.

Ein bei ZDNet publizierter Screenshot der Datei „pluggable.php“ zeigt die zusätzlich eingefügten Zeilen für den Datenklau. Auch die Virenjäger von Sophos berichten bereits über die fiese Attacke, die Blogger Craig Murphy bereits am eigenen Leib (oder Blog) erfahren durfte.

Immerhin, die Fake-Site scheint derzeit offline zu sein. Die Gründe dafür sind allerdings nicht klar. Es könnte also gut sein, dass die Webseite unvermittelt wieder aufgeschalten wird…

(via The Register)

Gehackte Schweizer Blogs

Bereits gestern hat Matthias über Schweizer Blogs geschrieben, die gehackt wurden und nun unsichtbar im Quelltext für Viagra & Co. Werbung machen. Eine kleine Recherche zeigt, dass neben den dort genannten Blogs „Le Journal du Chef„, „Planet Welti„, „CVP Luzern“ und „slug.ch Blog“ auch „EduBlog„, „piece O plastic“ und „derBlogger“ betroffen sind. Allen gemeinsam ist, dass sie veraltete WordPress-Versionen nutzen und damit ein einfaches Ziel für solche Angriffe sind.

Spamlinks in WordPress-Installationen

Die Inhaber der im Quelltext versteckten Domains wie haaan.com oder unchartedparent.com dürften mit der Aktion allerdings nichts zu tun haben, sondern sind selber Opfer eines Hacks geworden. Beim Aufruf der URLs wird nämlich in einem iframe ein Script von googlus.com gestartet, eine Domain die in Sachen Spam nicht ganz unbekannt ist. Das Script selbst ruft eine Seite von UmaxSearch auf und übergibt die Affiliate-ID 82462. Umax wiederum bietet eine Art Pay-per-Click-Suchmaschine an, und so sind auch die Beweggründe der kriminellen Machenschaften klar.

Den betroffenen Bloggern (die ich, soweit Mailadressen eruierbar waren, informiert habe) kann ich nur raten, schleunigst auf die neuste WordPress-Version upzudaten, denn Google reagiert ziemlich schnell auf die versteckten Links, wie auch der Werbeblogger schon erfahren musste. Eine ziemlich gute Anleitung zum richtigen Vorgehen findet sich zum Beispiel bei Holy Shmoly!.

[Update] 19:33 Uhr
Knapp 2 1/2 Stunden nach meiner Infomail haben immerhin zwei Betroffene bereits reagiert. Sowohl das Blog der CVP Luzern wie auch der slug.ch Blog sind derzeit nicht erreichbar…

Simple Trackback Validation: Snoopy Error

Kurz nach der Änderung meiner Spamfilter macht sich im Error-Log auch schon ein Fehler des Plugins Simple Trackback Validation breit:

PHP Fatal error: Cannot instantiate non-existent class: snoopy in […]/simple-trackback-validation.php on line 158

Des Rätsels Lösung: Das Plugin hat keinen Zugriff auf die PHP-Klasse Snoopy und meldet sich daher im Error-Log. Mit dem Einfügen eines kleinen Codeschnipsels ist der Fehler dann auch schnell aus dem Weg geschafft:

1. Öffne die Datei simple-trackback-validation.php in einem Editor und gehe zu Linie 158. Diese lautet wie folgt:

$stbvSnoopy = new Snoopy;

2. Füge über dieser Zeile folgende Zeile ein:

include_once( ABSPATH . 'wp-includes/class-snoopy.php' );

3. Datei speichern und Datei neu heraufladen.

Damit sind die Fehler aus dem Error-Log verschwunden und das Plugin scheint seine Arbeit nun auch entsprechend zu verrichten…

(via Holy Shmoly!)

Yawasp: Neues Spamschutz-Plugin

Zwar bin ich nach wie vor mit dem hier genutzten Antispam-Plugin Spam Karma 2 für WordPress zufrieden. Trotzdem ist nicht zu übersehen, dass das Plugin langsam in die Jahre kommt. Der Autor hat die Weiterentwicklung bereits vor geraumer Zeit eingestellt und immer öfters finde ich im Error-Log vor allem Speicherfehler, die durch das Plugin hervorgerufen werden.

Zeit also, sich nach Alternativen umzusehen. Und zwar sollte es eine Alternative sein, die den Besucher nicht mit einer zusätzlichen Eingabe (Captcha oder Rechenaufgabe) nervt, sondern ganz einfach im Hintergrund seineb (zuverlässigen) Dienst tun soll. Ziemlich vielversprechend sieht da Yawasp von Sven Kubiak aus, das die Namen der Kommentar-Formularfelder in zufällige Werte ändert und die Rückübersetzung erst beim Absenden des Kommentars vornimmt.

Zusätzlich wird ein leeres Feld – unsichtbar für den Benutzer – eingefügt, dass die gleichen Merkmale wie ein sichtbares aufweist. Füllt ein Spambot dieses Feld aus, oder sendet die ursprünglichen Namen der Formularfelder, wird der Kommentar nicht gespeichert. Zusätzlich ändert das Plugin die zufälligen Werte alle 24 Stunden, so dass sich kein Spambot an das Kommentarformular anpassen kann.

Das Manko dieser Lösung: Das Plugin kümmert sich ausschliesslich um Kommentare und lässt Ping- und Trackbacks aussen vor. Aber auch dafür gibts Alternativen zum speicherhungrigen Spam Karma 2. Zum Beispiel das Simple Trackback Validation Plugin von Michael Wöhrer, das einerseits prüft, ob die IP-Adresse des „Trackback-Senders“ mit der IP-Adresse des „trackbackenden“ Blogs übereinstimmt und andererseits prüft, ob die Trackback-Seite tatsächlich eine URL zum eigenen Blog enthält.

Beide Plugins sind ab sofort hier im Einsatz und können im Realtime-Einsatz nun zeigen, ob sie halten, was sie versprechen. Falls trotz allem Probleme beim Kommentieren auftauchen, wäre ich über eine kurze Mitteilung dankbar.

(via Frank Helmschrott)

Eigene Fehlerseite bei Datenbank-Problemen

Mit dem WordPress-Update auf die Version 2.3.2 gibt es nun (endlich) auch die Möglichkeit, bei Datenbank-Problemen eine individuell gestaltete Fehlerseite anzuzeigen. Bisher war das nur mit einem Hack möglich, den ich im Mai letzten Jahres vorgestellt hatte.

Die individuell Fehlerseite (hier meine Seite) wird in der Datei db-error.php abgelegt und wird im Ordner ‚wp-content‚ gespeichert. Ist die Datei vorhanden, zeigt WordPress bei Verbindungsproblemen zur Datenbank nun diese neue, individuell stylebare Datei an. Diese „offizielle“ Möglichkeit einer eigenen Errorseite hat den Vorteil, dass erneute Änderungen am Code bei einem Upgrade bzw. Update entfallen. Der Hack aus dem letzten Jahr musste hingegen bei jedem Update neu eingefügt werden.

Welche Änderungen und Fixes das Update, das übrigens als sicherheitsrelevant eingestuft wird, sonst noch mit sich bringt, lässt sich zum Beispiel bei Westi oder direkt bei WordPress nachlesen.

Alles neu macht die Weihnachtszeit

Wordpress

„Never touch a running system“ war auch hier auf dem Blog lange die Devise und so werkelte hier bis vor wenigen Stunden noch ein betagtes WordPress in der Version 1.5.1.3. Dies nicht zuletzt auch deshalb, weil sich im Laufe der Zeit vielerlei händische Änderungen an den WordPress-eigenen Dateien und Funktionen angesammelt hatten. Doch alles hat mal ein Ende und darum bin nun auch ich endlich wieder auf dem aktuellen Stand der Technik.

Eine weitere Herausforderung war die Umstellung des Zeichensatzes. Als ich vor fast 3 Jahren BloggingTom aufgesetzt hatte, entschied ich mich nämlich aus heute nicht mehr ganz nachvollziehbaren Gründen für ISO-8859-15, was im Laufe der Zeit einiges an Ärger verursachte. UTF-8 musste her, doch ich scheute bislang die Unsicherheiten mit der Umstellung.

Zeichensatz-Umstellung
So galt es zuerst mal eine Kopie der SQL-Datenbank aufzusetzen, diese von unnötigem alten Datenmüll zu befreien und danach die Datenbankeinträge nach UTF-8 zu konvertieren. Das Script von Markus Tacker war mir dabei eine grosse Hilfe, denn damit geht die Konvertierung fast automatisch vonstatten. Und, soweit ich bisher sehen kann, sind dabei auch keine Fehler aufgetreten.

WordPress-Upgrade
Während normalerweise ein Teil der „alten“ WordPress-Daten gelöscht wird und danach die neuen Daten kopiert werden, habe ich mich für den etwas radikaleren Weg entschieden, ein nacktes WP 2.3.1 aufzusetzen und mit der konvertierten Datenbank zu verbinden. Nachdem WordPress dann das Upgrade der Datenbank vorgenommen hatte, galt es nur noch, das Theme wieder aufzuspielen und, bedingt durch die zahlreichen WP-Funktionsänderungen, wieder lauffähig zu machen.

Schwierigkeiten
Das eigentliche Upgrade ging erstaunlicherweise ohne grössere Probleme über die Bühne. Allerdings gibt es noch einige kleine Probleme mit Plugins zu lösen. So nutzte ich bisher für die Meta-Keywords das Plugin Jerome’s Keywords, das sich aber nicht mehr mit der neuen WordPress-Version verträgt. Klar könnte ich diese Einträge ins Tag-System importieren, doch ich möchte nach wie vor zwischen Tags und eigentlichen „Beschreibungs-Keywords“ unterscheiden.
Ziemlich mühsam hingegen ist das Verhalten von Arne’s Plugin Google Sitemaps Generator, das bisher anstandslos seinen Dienst verrichtete. Nach dem Update auf die neuste Version sorgt es beim Schreiben bzw. Speichern neuer Beiträge ständig für die Überschreitung der maximalen Anzahl Datenbankverbindungen. Wieso dieses Problem aber nur hier und nicht beim Travelblogger (mit denselben Versionen) auftritt, ist mir bisher ein Rätsel. Und so bleibt mir nichts anderes übrig, als das Plugin derzeit zu deaktivieren.

Positives
Auf den ersten Blick scheint der Seitenaufbau wieder einiges schneller zu sein. Zudem scheint, so hoffe ich wenigstens, das Problem mit der Kommentarabgabe nun gelöst zu sein. Bei meinen Tests konnte ich zumindest keine langwierigen Verzögerungen bei der Abgabe von Kommentaren mehr feststellen.

Individuelle WP Datenbank Fehlerseite

Die Fehlerseite die WordPress anzeigt, wenn keine Verbindung mit der Datenbank besteht, ist ziemlich hässlich. Und nicht nur das: Je nach Einsatzgebiet der Software kann es auch unprofessionell aussehen, wenn der Besucher eine Seite mit für ihn verwirrenden Erklärungen und WordPress-Logo vorgesetzt bekommt.

Standard WordPress Database Error

Leider bietet WordPress derzeit keine offizielle Möglichkeit, die Seite mit einem Template individuell zu gestalten. Auch die Nutzung eines Plugins fällt weg, da für die Plugin-Abfrage die Datenbankverbindung benötigt wird. Mit einem kleinen Hack kommt man aber doch zur eigenen Fehlerseite, inklusive einer Benachrichtigung per eMail an den Administrator.

CSS-Edit-Funktion für 15 Dollar?

Als ich gerade einen Spam-Kommentar auf dem Hotlinking Blog löschen wollte, fiel mir auf, dass es in der Administration neuerdings einen Navigationspunkt „Upgrades“ gibt. Offenbar will man dem geneigten WordPress.com-User nun also kostenpflichtige Features anbieten, was an sich ja noch nichts schlechtes ist. Gestaunt habe ich hingegen beim Preis des einzigen, derzeit verfügbaren „Upgrades“:

Wordpress.com - Available Upgrades: Costum CSS für 15 Credits = 15 Dollar

1 Credit entspricht 1 Dollar, so dass für das Freischalten der simplen Funktion zum Editieren des CSS-Templates also ganze 15 Dollar fällig werden. Und nicht nur das: Die 15 Dollar sind jedes Jahr wieder aufs neue fällig, wohlgemerkt, nur für die Möglichkeit zum Editieren des CSS-Templates.

Ich bin ja gespannt, welche neuen kostenpflichtigen „Upgrades“ in naher Zukunft sonst noch eingeführt werden. Bei solchen Preisen für Features, die ich eigentlich zum Standard zählen würde, wird man sich wohl zweimal überlegen, ob man ein Blog bei wordpress.com hosten soll (zumindest wenn man solche Features wünscht)…

WP Localization auf 64bit Systemen

Da hätte ich ja noch stundenlang rumprobieren können: Will die Einbindung der deutschen Sprachdatei in eine WordPress-Installation einfach nicht funktionieren, könnte das daran liegen, dass der Webserver ein 64bit-System ist. Dann nämlich braucht es eine kleine Änderung in der Datei gettext.php (im Verzeichnis /wp-includes), ab Zeile 105:


// Caching can be turned off
$this->enable_cache = $enable_cache;

// $MAGIC1 = (int)0x950412de; //bug in PHP 5
$MAGIC1 = (int) - 1794895138;
// $MAGIC2 = (int)0xde120495; //bug
$MAGIC2 = (int) - 569244523;
$MAGIC3 = (int) 2500072158; // < - 64 BIT FIX: ZEILE HINZUFÜGEN! $this->STREAM = $Reader;
$magic = $this->readint();
if ($magic == $MAGIC1 || $magic == $MAGIC3) { // < - 64 BIT FIX: ZEILE ÄNDERN! $this->BYTEORDER = 0;
} elseif ($magic == $MAGIC2) {
$this->BYTEORDER = 1;
} else {
$this->error = 1; // not MO file
return false;
}

Danke an Marco Neuber für den Tipp!

blogr als public alpha version

blogr.com - Logo

Die bereits durch twoday bekannte Firma knallgrau aus Österreich hat den Schleier über Ihrem neuen Blog-Community Tool gelüftet und präsentiere gestern blogr.com in einer Alpha Version. Rein namenstechnisch sicherlich verwechslungsfähig mit Leu’s bloggrrr.com, ansonsten haben die beiden Dienste jedoch keinerlei Gemeinsamkeiten.

Das durchweges in Englisch gehaltene blogr bietet unter dem Mäntelchen Web 2.0 mit Photo– und Videosharing, einem Blog sowie Podcast-Funktionen (?) so ziemlich alles, was man zum Bloggen braucht.
Grundsätzlich ist das ganze eine Mischung aus flickr, youTube und bspw. WordPress.com. Rein designmässig fühle ich mich teilweise fast wie bei flickr, wie man auf meiner blogr-Startseite sehen kann.

blogr ist, wie erwähnt, noch im Alpha-Stadium, es ist jedoch bereits jetzt ziemlich gut sichtbar, wohin sich das Projekt entwickeln wird. Wer etwas mehr Einblick haben will, meldet sich auf der blogr-Seite an und erhält umgehend sein persönliches Login zugesandt.

(via relab.ch)