Bug in Quick Chat Plugin erlaubt SQL-Injection

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.

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. Diese wird immer dann aufgerufen, wenn ein Nutzer eine neue Nachricht schreibt. Auch in der Methode "update_users_ajax_handler()" kommt dieser Wert ungeprüft zum Einsatz. Sie wird regelmäßig aufgerufen, 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

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 lautet, die Plugins sofort zu deaktivieren und auf ein Update zu warten.


Search

Categories

administration (40)
arduino (12)
calcpw (2)
code (33)
hardware (16)
java (2)
legacy (113)
linux (27)
publicity (6)
review (2)
security (58)
thoughts (21)
windows (17)
wordpress (19)