PHPList: Zwei Sicherheitslöcher gestopft

Zwei vor kurzem korrigierte Schwachstellen in der PHPList-Applikation haben zur Folgen, dass ein entfernter Angreifer Cross-Site-Skripting-Attacken und SQL-Injection-Attacken gegen anfällige Systeme durchführen kann. Damit kann der Angreifer Cookies von Benutzern der Website auslesen. Diese können auch Authentifikationsinformationen enthalten und so eine unberechtigte Anmeldung des Angreifers ermöglichen. Weiter ist durch die SQL-Schwachstelle auch der Zugriff auf die Datenbank des Systems machbar.

Die verantwortlichen Programmierfehler befinden sich auf den “public_html/lists/admin”-Seiten. Dort wird zunächst die”sortby”-Variable beim Verarbeiten von URLs nicht korrekt gefiltert, wodurch ein entfernter, angemeldeter Angreifer SQL-Befehle in die Datenbank einschleusen kann. Der “num”-Parameter wird ebenfalls nicht ordentlich auf kritischen Zeichen überprüft, wodurch die Cross-Site-Scripting-Attacke (XSS)möglich ist.

Beide Schwachstelle lassen sich sehr einfach ausnutzen. Die SQL-Injection-Attacke kann mit einer URL folgender Bauart ausgeführt werden:

http://www.example.com/public_html/lists/admin/?blacklisted=1&change=Vai&find=&findby=email&id=0&page=users&sortorder=desc&start=0&unconfirmed=1&sortby=1[SQL Code]

Hier steht [SQL Code] einfach für die gewünschten SQL-Anweisungen, die der Angreifer auf der SQL-Datenbank ausführen will. Die XSS-Attacke lässt sich auf ähnlich einfache Weise ausnutzen:

http://www.example.com/public_html/lists/admin/?num=<script>alert(1);</script>&option=bounces&page=reconcileusers<literal>
In dieser Beispiel-URL wird lediglich der sehr harmlose <literal>alert(1)

Javascript-Befehl ausgeführt. Ein entfernter Angreifer kann hier jedoch beliebigen Javascript-Code platzieren und eine solche URL an sein Opfer schicken. In dessen Browser werden diese Befehle dann ausgeführt.

Betroffen sind die Versionen vor 2.10.18.

Nach oben