Eine Sicherheitslücke in der miniBB-Applikation hat zur Folge, dass ein entfernter Angreifer SQL-Befehl auf der Datenbank ausführen kann. Grund hierfür ist eine SQL-Injection-Schwachstelle im PHP-Code. Das Problem besteht darin, dass die »preg_match()‹-Funktion lediglich prüft, ob »$_GET[‘code’]« mindestens einen Buchstablen oder eine Zahl enthält. Eigentlich sollte die Funktion aber sicherstellen, dass die Benutzeranfrage nur Buchstaben und zahlen enthält, um Injection-Attacken vorzubeugen. Der Programmierfehler befindet sich in dem »bb_func_unsub.php«-Skript.
Eine Exploit-URL könnte wie folgt aussehen:
http://minibb-url/index.php?action=unsubscribe&usrid=1&topic=1&code=test' UNION SELECT 1, IF(substr(user_password,1,1) = CHAR(99), SLEEP(5), 0) FROM minibbtable_users WHERE user_id = 1 AND username != '
Diese einfache SQL-Injection-Attacke prüft, ob der erste Buchstabe des Passworts des Benutzers mit ID 1 ein ‘c’ ist. Sollte dies
der Fall sein, so wartet der Code fünf Sekunden.
Betroffen ist die Version 3.1.
