Diskussion zu Mögliche XSS-Schwäche

Projekte der phpBB.de-Community und Feedback zu phpBB.de.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Für die ganz faulen die offiziellen Änderungen als patch-file: http://www.phpbb.de/diverses/bbcode.diff
Tuxman
Mitglied
Beiträge: 2284
Registriert: 24.05.2003 13:32
Kontaktdaten:

Beitrag von Tuxman »

wie baut man das ein?
tux. Ehemaliger Moderator ohne Sondertitel.
tuxproject.de
Benutzeravatar
Henne
Ehemaliges Teammitglied
Beiträge: 4520
Registriert: 04.01.2002 01:00
Wohnort: Lage (Lippe)
Kontaktdaten:

Beitrag von Henne »

Die entsprechenden Teile ersetzen.
fussle
Mitglied
Beiträge: 1246
Registriert: 25.06.2002 07:31

Beitrag von fussle »

entschuldigt bitte meine frage: gibt es eine möglichkeit zu testen ob das eingebaute korrekt funktioniert?
codemonkey
Ehemaliges Teammitglied
Beiträge: 3005
Registriert: 13.10.2002 15:15
Wohnort: Wilhelmshaven
Kontaktdaten:

Beitrag von codemonkey »

Ja klar kann man das testen.
Poste in deinem Forum einfach mal diesen Code

Code: Alles auswählen

[url=http://www.phpBB.de" onclick="alert('Der Bug ist noch enthalten!!')]text[/url]
Wenn sich ein Java Script Fenster öffnet, ist der Bug noch drin, wenn wie hier bei uns der Code einfach hingeschrieben wird hat der einbau erfolgreich geklappt.

[url=http://www.phpBB.de" onclick="alert('Der Bug ist noch enthalten!!')]text[/url]
fussle
Mitglied
Beiträge: 1246
Registriert: 25.06.2002 07:31

Beitrag von fussle »

super danke ;)

funktioniert bestens - bug entfernt
Benutzeravatar
Elvis
Mitglied
Beiträge: 3373
Registriert: 26.05.2003 22:39

Beitrag von Elvis »

ich dachte der Bug soll auch in Version 2.0.6 sein ?

habe gerade mal den Code von oben bei mir getestet,
da steht nur Text also ist bei mir kein Bug oder sehe ich das falsch ?
codemonkey
Ehemaliges Teammitglied
Beiträge: 3005
Registriert: 13.10.2002 15:15
Wohnort: Wilhelmshaven
Kontaktdaten:

Beitrag von codemonkey »

Also bei meiner ungefixten phpBB 2.0.6 Version wird per Link ein Java Script Fenster geöffnet.
codemonkey
Ehemaliges Teammitglied
Beiträge: 3005
Registriert: 13.10.2002 15:15
Wohnort: Wilhelmshaven
Kontaktdaten:

Beitrag von codemonkey »

Für alle, die das ganze nochmal auf deutsch haben wollen.
Um den Bug aus eurem phpBB 2.0.6 zu entfernen folgt folgender Anweisung:

Suche in includes/bbcode.php

Code: Alles auswählen

$bbcode_tpl['url4'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']); 
   $bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\\5', $bbcode_tpl['url4']);
Und ersetzte mit

Code: Alles auswählen

$bbcode_tpl['url4'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']); 
   $bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\\3', $bbcode_tpl['url4']);
Suche weiterhin in der includes/bbcode.php

Code: Alles auswählen

// matches a [url]xxxx://www.phpbb.com[/url] code.. 
   $patterns[] = "#\[url\]([\w]+?://.*?[^ \"\n\r\t<]*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url1']; 

   // [url]www.phpbb.com[/url] code.. (no xxxx:// prefix). 
   $patterns[] = "#\[url\]((www|ftp)\.([\w\-]+\.)*?[\w\-]+\.[a-z]{2,4}(:?[0-9]*?/[^ \"\n\r\t<]*)?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url2']; 

   // [url=xxxx://www.phpbb.com]phpBB[/url] code.. 
   $patterns[] = "#\[url=([\w]+?://.*?[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url3']; 

   // [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix). 
   $patterns[] = "#\[url=((www|ftp)\.([\w\-]+\.)*?[\w\-]+\.[a-z]{2,4}(:?[0-9]*?/[^ \"\n\r\t<]*)?)\](.*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url4'];
Und ersetzte mit

Code: Alles auswählen

// matches a [url]xxxx://www.phpbb.com[/url] code.. 
   $patterns[] = "#\[url\]([\w]+?://[^ \"\n\r\t<]*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url1']; 

   // [url]www.phpbb.com[/url] code.. (no xxxx:// prefix). 
   $patterns[] = "#\[url\]((www|ftp)\.[^ \"\n\r\t<]*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url2']; 

   // [url=xxxx://www.phpbb.com]phpBB[/url] code.. 
   $patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url3']; 

   // [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix). 
   $patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url4'];
Suche ebenfalls in der includes/bbcode.php

Code: Alles auswählen

// matches an "xxxx://yyyy" URL at the start of a line, or after a space. 
   // xxxx can only be alpha characters. 
   // yyyy is anything up to the first space, newline, comma, double quote or < 
   $ret = preg_replace("#(^|[\n ])([\w]+?://.*?[^ \"\n\r\t<]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret); 

   // matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing 
   // Must contain at least 2 dots. xxxx contains either alphanum, or "-" 
   // zzzz is optional.. will contain everything up to the first space, newline, 
   // comma, double quote or <. 
   $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\-]+\.[\w\-.\~]+(?:/[^ \"\t\n\r<]*)?)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
Und ersetzte mit

Code: Alles auswählen

//matches an "xxxx://yyyy" URL at the start of a line, or after a space. 
   // xxxx can only be alpha characters. 
   // yyyy is anything up to the first space, newline, comma, double quote or < 
   $ret = preg_replace("#(^|[\n ])([\w]+?://[^ \"\n\r\t<]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret); 

   // matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing 
   // Must contain at least 2 dots. xxxx contains either alphanum, or "-" 
   // zzzz is optional.. will contain everything up to the first space, newline, 
   // comma, double quote or <. 
   $ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
Nun die Datei abspeichern und mit der auf dem Server vorhandenen includes/bbcode.php ersetzten.
braini
Mitglied
Beiträge: 24
Registriert: 06.08.2003 12:09

Beitrag von braini »

!!! Warnung !!!

Ungepatchtes phpBB 2.04 -> Keine Problme mit allen (imho) auf Bugtraq erwähnten url-tag-vulnerabilities!!

Gepatche phpBB 2.04 -> Einige url-tag-vulnerabilities funktionieren!!!

Es kann natürlich sein das ich den Code falsch eingebaut habe oder das er für php BB 2.04 nicht geeignet ist!

Auch auf Bugtraq wurde, im Gegesatz zu phpBB.com ("(which also affects 2.0.4 and 2.0.5)"), nicht (wirklich) behauptet dass es auch auf phpBB 2.04 zutrifft!

Wer hat zu dieser Problematik Erfahrungen?
Antworten

Zurück zu „Community Talk“