WordPress Sicherheitslücke: MySQL-Injection Exploit

Tags: | |

Wie funktioniert der Exploit?

In der PHP-Datei wp-trackback.php wird die externe Dateneingabe nicht korrekt gefiltert, so das eine SQL-Injektion möglich ist. Was heißt das?

Wenn ein Zugriff auf die Datenbank stattfindet, so werden alle Eingaben durch Anführungszeichen abgegrenzt. Enthält die Anfrage ein Anführungszeichen zuviel oder zuwenig, so wird der weitere Text als SQL-Befehl interpretiert. Bei der SQL-Injektion wird das gezielt ausgenutzt, indem Anführungszeichen von außen eingegeben werden. Wenn diese vor dem Datenbankzugriff von der jeweiligen Anwendung nicht ausgefiltert oder maskiert werden, so kann man von außen SQL-Befehle in die Datenbank einfügen.

Der der derzeit kursierende Exploit ist relativ harmlos: Er liest nur die Benutzertabelle aus und verrät das gehashte Admin-Passwort. Damit beweist der Autor, dass (und wie) die Lücke ausnutzbar ist, ohne direkten Schaden anzurichten. Doch natürlich lässt sich der Exploit mit ein bissel Knoffhoff und wenig Aufwand so umstricken, dass er in die Datenbank schreibt, nämlich etwa einen neuen Benutzer mit Adminrechten.

Ob nur die Versionen bis einschliesslich WordPress 2.0.5 oder auch die aktuelle Version WordPress 2.0.6 betroffen sind, scheint nicht ganz klar.

Sicher scheint auf jeden Fall die Version WordPress 2.0.6 sein, die auf einem Apache mit der Einstellung

register_globals Off

in der php.ini läuft.

Um festzstellen, ob der eigene Apach mit register_globals Off läuft, kann man folgendes unternehmen:

Einfach eine Datei info.php erstellen, und diese mit folgendem Code „bestücken“:

<?php
phpinfo();
?>

Die Datei aufrufen und dann nach register_globals suchen.

Ist für diesen Wert (local) on gesetzt, dann ist „Gefahr im Verzug“.

Lösungsansatz:

Der Wert register_globals lässt sich mittels .htaccess auf off schalten. Hierzu die .htaccess öffnen oder (dürfte wohl eher selten sein) anlegen und dort folgende Code-Zeile einfügen:

php_flag register_globals off

Das sich WordPress-Blogbetreiber, die von Premium Hosting gehosted werden, keine Sorgen machen müssen, versteht sich von selbst!

Mehr zum Thema:

Ein Kommentar zu “WordPress Sicherheitslücke: MySQL-Injection Exploit”

  1. Suchmaschinen Optimierung » Update: Wordpress 2.0.7 meint:

    […] Nicht viel, aber trotzdem wichtig, denn die bereits erwähnte Sicherheitslücke bei WordPress wird geschlossen! […]

Hinterlassen Sie einen Kommentar

Text-Formatierung: Sie können diese XHTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> benutzen.

Comments links could be nofollow free.