Bug in Quick Chat Plugin erlaubt SQL-Injection

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.

Das Problem beginnt im Constructor der Klasse "Quick_Chat", der sich in der Datei "quick-chat.php" befindet: Dort wird versucht, die IP-Adresse des Clients in Erfahrung zu bringen. Dabei wird auch der HTTP-Header "X-Forward-For" mit berücksichtigt.

Dieser Wert wird dann (ungeprüft) in der Methode "new_message_ajax_handler()" in einem INSERT-Statement verwendet - also immer dann, wenn ein Nutzer eine neue Nachricht schreibt. Auch in der Methode "update_users_ajax_handler()" kommt dieser Wert ungeprüft zum Einsatz - also regelmäßig, wenn der Status der Clients aktualisiert wird. Ausnutzen kann man das ganze, indem man einfach den "X-Forward-For"-Header mit seinem SQL-Injection-Code versieht. Das ganze kann dann zum Beispiel so aussehen:

Quick Chat Injection

Quick Chat Injection

Hier habe ich das Tool Charles verwendet, um einen präparierten Header einzufügen. Dieser bewirkt, dass nicht der vom Nutzer geschriebene Text im Chatraum erscheint, sondern das (gehashte) Passwort vom WordPress-User mit der ID "1".

Auch das Plugin Quick Count verwendet in der Datei "quick-counter.php" einen ähnlichen Code in der Methode "report()" und sollte dadurch mit ähnlichen Problemen zu kämpfen haben.

Der Rat an dieser Stelle: Die Plugins sofort deaktivieren und warten, bis es ein Update gibt.

Injizierende Grüße, Kenny

Schreibe einen Kommentar

Um Ihnen beim weiteren Kommentieren auf dieser Webseite die erneute Eingabe Ihrer Daten zu ersparen, wird beim Absenden Ihres Kommentars ein Cookie an Ihren Browser gesendet und von diesem gespeichert. Mit dem Absenden eines Kommentars auf dieser Webseite stimmen Sie der Speicherung und Übertragung dieses Cookies explizit zu.

Pflichtfelder sind mit * markiert.