01.09.2014 yahe legacy security wordpress
In den letzten Wochen habe ich einige Artikel zur Sicherheit ausgewählter WordPress-Plugins geschrieben. Nun wollte ich abschließend noch einmal ein Fazit ziehen.
Begonnen hatte alles damit, dass auf Golem.de im Abstand von wenigen Wochen über zwei weit verbreitete Plugins mit leicht auffindbaren und dennoch schwerwiegenden Fehlern berichtet wurde. Es hatte mich daher interessiert, wie schlecht es wirklich um die Codequalität bei weit verbreiteten Plugins bestellt ist.
29.08.2014 yahe legacy security wordpress
Heute habe ich noch etwas spannendes für euch: eine Persistive-XSS-Lücke. Das bedeutet, dass man nicht jedem Benutzer den manipulierten Seiteninhalt unterschieben muss, sondern, dass diese permanent gespeichert wird und so bei jedem Aufruf der Originalwebseite aktiv wird. Gefunden habe ich diesen Fehler im FormGet Contact Form Plugin.
29.08.2014 yahe legacy security update wordpress
Anfang dieser Woche hatte ich über ein Plugin informiert, mit dem ein Angreifer ungefragt neue Nutzer anlegen kann. Damit ist das vorgestellte Plugin leider nicht allein. Denn auch das Login With Ajax Plugin hat diese unschöne Sonderfunktion.
27.08.2014 yahe legacy security wordpress
In dem WordPress-Plugin Quick Chat befinden sich Bugs, die es einem Angreifer ermöglichen, SQL-Injections durchzuführen. Das Plugin ist dafür gedacht, einen einfachen Chat im eigenen Blog bereitzustellen.
25.08.2014 yahe legacy security wordpress
Heute mal ein spannender Bug: Das WP Modal Login Plugin bietet einem die Möglichkeit, überall auf der Seite einen Login-Screen aufzurufen. Dafür richtet man an der entsprechenden Stelle einfach einen Shortcode ein. Das Login-Formular wird dann einfach als Overlay angezeigt:
[wp-modal-login login_text="Login" logout_text="Logout"]
Leider hat das ganze einen kleinen Schönheitsfehler, denn die Klasse "./includes/class-wp-modal.php" enthält nicht nur die Funktion, sich einzuloggen, sondern sie kann auch neue Nutzer anlegen. Das funktioniert sogar dann, wenn die Registrierung neuer Nutzer in der Wordpress-Konfiguration deaktiviert wurde.
22.08.2014 yahe legacy security wordpress
Manchmal kann bereits das Bereitstellen von Fehlerinformationen zu viel des Guten sein, so zum Beispiel beim WordPress File Upload Plugin. Dieses bietet Nutzern die Möglichkeit, Dateien hochzuladen. Dafür kommt AJAX zum Einsatz. In der Datei "./lib/wfu_ajaxactions.php" werden dazu die entsprechenden Handler bereitgestellt. Sollte etwas fehlgeschlagen (zum Beispiel die Session-Prüfung) bekommt der Nutzer nützliche Informationen als Rückantwort.
21.08.2014 yahe legacy security update wordpress
Und wieder einmal ist mir ein besonders fieser Bug über den Weg gelaufen. Dieses mal habe ich ihn im Form Builder Plugin gefunden.
18.08.2014 yahe legacy security wordpress
Zur Abwechslung mal nur ein kleineres Problem, dieses Mal im Simplr Registration Form Plus+ Plugin. Dort ist es möglich, die Datei "simplr-registration-form/simplr_reg_options.php" direkt aufzurufen. Darin befindet sich dann eine Liste aller statischen Seiten der WordPress-Webseite, also auch solche, die nicht öffentlicht verlinkt sind.
15.08.2014 yahe legacy security wordpress
Vor ein paar Tagen habe ich eine spannende Lücke in zwei miteinander verwandten WordPress-Plugins gefunden. Dabei handelt es sich um den WP Advanced Importer und den WP Ultimate CSV Importer. Beide Plugins bringen die Dateien "./templates/uploader.php" und "./templates/UploadHandler.php" mit sich. Bei ersterer handelt es sich um einen ungeschützten Einstieg, während zweitere den eigentlichen, schadhaften Code enthält.
12.08.2014 yahe legacy security wordpress
Vor ein paar Tagen fand ich im WordPress-Plugin WP CSV einen interessanten Fehler. Dort war die Datei "download_view.php" ohne weiteren Schutz aufrufbar. Eigentlich dient diese Datei dazu, die erstellten CSV-Exports herunterladen zu können. Doch leider wurde nicht sichergestellt, dass die Datei nicht von außen aufgerufen werden kann. Das führte dazu, dass ein Angreifer per GET-Parameter einen beliebigen Dateinamen übergeben konnte. Existierte diese Datei und endete ihr Name auf ".csv", so wurde sie heruntergeladen, auch, wenn sie sich in einem von außen unzugänglichen Ordner befand. Doch noch mehr: In älteren PHP-Versionen ermöglichte die Form der Prüfung potentiell eine Null Byte Injection, sodass nicht ausgeschlossen werden kann, dass beliebige Dateien heruntergeladen werden konnten.
Der Bug ist jedenfalls in der neuen Version 1.6.0 gefixt worden. Es ist deshalb angeraten, sobald wie möglich auf die neue Version upzudaten.