In diesem Beitrag auf Bugtraq wird beschrieben, wie ein phpBB 2.0.x über den BBCode [url] fremden Code per Javascript ausführen kann.
Die phpBB Group ist informiert.
Diskussion zu Mögliche XSS-Schwäche
- itst
- Ehrenadmin
- Beiträge: 7418
- Registriert: 21.08.2001 02:00
- Wohnort: Büttelborn bei Darmstadt
- Kontaktdaten:
Diskussion zu Mögliche XSS-Schwäche
Hier könnt ihr eure Meinung zu Mögliche XSS-Schwäche abgeben.
Hi
Ich habe gerade nen 2.0.3er Board getestet. Dort geht es nicht. Sobald ein " oder ein [Leer] Zeichen da ist, wird der BB-Code nicht erkannt.
Der Test: [url=http://www.google.de" onclick="alert('Hello World')]Hier ist JAVA-Script mit drinne (Nichts gefährliches, nur ein "hello world"!!![/url]
Grüße
Dennis
Ich habe gerade nen 2.0.3er Board getestet. Dort geht es nicht. Sobald ein " oder ein [Leer] Zeichen da ist, wird der BB-Code nicht erkannt.
Der Test: [url=http://www.google.de" onclick="alert('Hello World')]Hier ist JAVA-Script mit drinne (Nichts gefährliches, nur ein "hello world"!!![/url]
Grüße
Dennis
Hallo,
wir haben einen vorübergehenden Fix gefunden. Unsere Änderung im Code verhindert wirkungsvoll, daß das Javascript eingebunden werden kann, hat aber auch zur Folge, daß der beschreibende Text zu einer URL nicht immer angezeigt wird, sondern stattdessen die URL selbst. Funktionieren tut der Link so oder so und wir können vorübergehend mit dieser Lösung leben, bis die phpBB-Group etwas Offizielles vorstellt.
Usere Variante:
Änderung wie immer auf eigene Gefahr, wenn Dein Server danach seine Festplatte formatiert, anstatt die Links in der von mir beschriebenen Art und Weise anzuzeigen, dann tut mir das herzlich leid. 
Grüße,
cyberWolf
wir haben einen vorübergehenden Fix gefunden. Unsere Änderung im Code verhindert wirkungsvoll, daß das Javascript eingebunden werden kann, hat aber auch zur Folge, daß der beschreibende Text zu einer URL nicht immer angezeigt wird, sondern stattdessen die URL selbst. Funktionieren tut der Link so oder so und wir können vorübergehend mit dieser Lösung leben, bis die phpBB-Group etwas Offizielles vorstellt.
Usere Variante:
Code: Alles auswählen
---[ÖFFNE ./includes/bbcode.php]---
---[SUCHE]---
// [url=xxxx://www.phpbb.com]phpBB[/url] code..
$patterns[] = "#\[url=([\w]+?://.*?[^ \"\n\r\t<]*?)\](.*?)\[/url\]#ies";
$replacements[] = "stripslashes(".$bbcode_tpl['url3'].")";
---[ERSETZE DURCH]---
// [url=xxxx://www.phpbb.com]phpBB[/url] code..
// $patterns[] = "#\[url=([\w]+?://.*?[^ \"\n\r\t<]*?)\](.*?)\[/url\]#ies";
$patterns[] = "#\[url=([\w]+?://(([\w\-]+\.)*?[\w\-]+\.[a-z]{2,4}(:?[0-9]*?/[^ \"\n\r\t<]*)?))\](.*?)\[/url\]#ies";
$replacements[] = "stripslashes(".$bbcode_tpl['url3'].")";

Grüße,
cyberWolf
-
- Ehemaliges Teammitglied
- Beiträge: 3005
- Registriert: 13.10.2002 15:15
- Wohnort: Wilhelmshaven
- Kontaktdaten:
Die bei denen die Loesung von cyberWolf nicht funktioniert sollte folgende Zeile nehmen:
by, Martin
Code: Alles auswählen
$patterns[] = "#\[url=([\w]+?://(([\w\-]+\.)*?[\w\-]+\.[a-z]{2,4}(:?[0-9]*?/[^ "\n\r\t<]*)?))\](.*?)\[/url\]#is";
Ich hab den regex nochmal angepasst, es gab mit einigen URL's Problemeblackm hat geschrieben:Code: Alles auswählen
$patterns[] = "#\[url=([\w]+?://(([\w\-]+\.)*?[\w\-]+\.[a-z]{2,4}(:?[0-9]*?/[^ "\n\r\t<]*)?))\](.*?)\[/url\]#is";
Code: Alles auswählen
$patterns[] = "#\[url=([\w]+?://[\w\-]+\.*?[\w\-]+\.[a-z]{2,4}:?[0-9]*?/?[^ "\n\r\t<]*?)\](.*?)\[/url\]#is";
-
- Ehemaliges Teammitglied
- Beiträge: 3005
- Registriert: 13.10.2002 15:15
- Wohnort: Wilhelmshaven
- Kontaktdaten:
Ohne Zweifel ist es sinnvoll bei Erscheinen des offiziellen Patches diesen so bald wie möglich in sein Forum zu integrieren. Aber aus meiner Sicht spricht nichts dagegen, vorher schon auf eigene Faust [und eigenes Risiko] zu versuchen, sich dieses Javascriptes zu entledigen.

Sicherlich werde ich hinterher prüfen, ob ich meinen Code nicht doch besser durch den offiziellen Code ersetzen sollte.
Grüße,
cyberWolf

Sicherlich werde ich hinterher prüfen, ob ich meinen Code nicht doch besser durch den offiziellen Code ersetzen sollte.
Grüße,
cyberWolf