Freigeisterhaus Foren-Übersicht
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   NutzungsbedingungenNutzungsbedingungen   BenutzergruppenBenutzergruppen   LinksLinks   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Irgendwas ist faul bei der Erkennung von URLs in Verbindung mit Umlauten

 
Neues Thema eröffnen   Neue Antwort erstellen   Drucker freundliche Ansicht    Freigeisterhaus Foren-Übersicht -> Maaaaamiiii !!!!
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#317664) Verfasst am: 21.07.2005, 22:48    Titel: Irgendwas ist faul bei der Erkennung von URLs in Verbindung mit Umlauten Antworten mit Zitat


_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Frank
registrierter User



Anmeldungsdatum: 31.07.2003
Beiträge: 6643

Beitrag(#317677) Verfasst am: 22.07.2005, 00:03    Titel: Antworten mit Zitat

Hallo kolja,

kolja hat folgendes geschrieben:

seit kurzer Zeit funktioniert der Mechanismus nicht mehr zuverlässig, der in den Beiträgen URLs erkennt und automatisch als Link darstellt. Das Problem scheint in Verbindung mit Umlauten aufzutreten.


Wenn das Problem seit Gestern auftritt, ist es ein Bug in der neuen phpBB Version 2.0.17.

Dort wurde eine akute Cross-Site-Scripting-Security-Schwachstelle gefixed. Ich hatte am Dienstag schon einen inoffiziellen Hotfix eingespielt, der aber mit dem Update auf 2.0.17 komplett überschrieben wurde. Somit vermute ich einen Bug. Ich werde mal ein anderes phpBB Internetforum suchen, dass schon auf 2.0.17 geupdatet hat. Wenn dort der gleiche Fehler auftritt hast Du einen Bug gefunden und ich werde ihn an das phpBB Entwicklerteam weiterleiten.

Gruß Frank
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Frank
registrierter User



Anmeldungsdatum: 31.07.2003
Beiträge: 6643

Beitrag(#317678) Verfasst am: 22.07.2005, 00:10    Titel: Antworten mit Zitat

Habe Deinen Text gerade mal bei www.phpbb.com getestet - Gleiches Problem.

Somit ist dies ein Bug, der mit der Version 2.0.17 aufgekommen ist. Ich werde mich darum kümmern.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Frank
registrierter User



Anmeldungsdatum: 31.07.2003
Beiträge: 6643

Beitrag(#317708) Verfasst am: 22.07.2005, 04:24    Titel: Antworten mit Zitat

Mit dem Wechsel auf 2.0.17 wurde aus einer alten Negativliste der verbotenen Zeichen

Code:
[^ \"\t\n\r<]


nunmehr eine Positivliste (die weit restriktiver wirkt) der erlaubten Zeichen.

Code:
[\w\#$%&~/.\-;:=,?@\[\]+]



http://www.phpbb.de/viewtopic.php?t=93409

Wenn sich einer gut mit Regulären Ausdrücken auskennt, könnte er helfen, das Problem temporär zu fixen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Rasmus
entartet und notorisch gottlos - Ich bin Papst



Anmeldungsdatum: 20.05.2004
Beiträge: 17559

Beitrag(#317709) Verfasst am: 22.07.2005, 05:36    Titel: Antworten mit Zitat

Frank hat folgendes geschrieben:
Mit dem Wechsel auf 2.0.17 wurde aus einer alten Negativliste der verbotenen Zeichen

Code:
[^ \"\t\n\r<]


nunmehr eine Positivliste (die weit restriktiver wirkt) der erlaubten Zeichen.

Code:
[\w\#$%&~/.\-;:=,?@\[\]+]



http://www.phpbb.de/viewtopic.php?t=93409

Wenn sich einer gut mit Regulären Ausdrücken auskennt, könnte er helfen, das Problem temporär zu fixen.


Eigentlich müsste es völlig ausreichen, die Umlaute hinzuzufügen, oder?

Code:
[üöäÜÖÄß\w\#$%&~/.\-;:=,?@\[\]+]


Erlauben die neuen Domains, daß man das ß benutzt?

\w -> "Worte"
\# -> Zahlen?
$%&~ -> $, %, &, ~ und /
. -> Den Teil verstehe ich gar nicht, der Punkt würde jedes Zeichen zulassen, oder nicht?
\- -> -
;:=,?@\[\]+ -> ;, :, =, ,, ?, @ und \

Wenn ich drüber nachdenke kann es sein, daß irgendwelche Paramter den Punk einfach so übernehmen, aber finden kann ich dazu im Moment nichts.

Wie auch immer: Die Umlaute einfach in den String einfügen, ohne dabei irgendwleche Operatoren kaputtzumachen.

Alternativ: Einfach mal den Deutschen Zeichewnsatz einstellen, aber frag mich bloß nicht der Syntax dafür.


Rasmus.
_________________
Brother Sword of Enlightenment of the Unitarian Jihad
If you ask the wrong questions you get answers like '42' or 'God'.
"Glaubst Du noch oder hüpfst Du schon?"
Sylvia Browne - Wahrsager oder Scharlatan?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#317755) Verfasst am: 22.07.2005, 10:20    Titel: Antworten mit Zitat

Rasmus hat folgendes geschrieben:
Eigentlich müsste es völlig ausreichen, die Umlaute hinzuzufügen, oder? [...]
Erlauben die neuen Domains, daß man das ß benutzt?

Leider reicht das nicht, da wir hier über verschiedene Bestandteile der URL reden.

Der Domain-Part (zwischen dem "http://" und dem ersten "/") kann problemlos auf die in Domains erlaubten Zeichen eingeschänkt werden, das sind Buchstaben, Ziffern, der Bindestrich und der Punkt. (Für die Umlaute in Domain-Namen gibt es immer eine Ersatzsschreibweise mit erlaubten Zeichen. Firefox verwendet zur Anzeige in der URL-Leiste aus Sicherheitsgründen nur diese Ersatzschreibweise, insofern sähe ich darin keine starke Einschränkung.)

Der Document-Part (hinter dem ersten "/") kann allerdings beinahe beliebige Zeichen enthalten, sogar das Leerzeichen. Für eine automatische Erkennung von URLs im Fließtext ist das natürlich unpraktisch, so das hier eine Heuristik verwendet werden muß, die zumindest meistens passt.

Allerdings sollte *innerhalb* eines [ url ]-Tags alles zugelassen werden, was eine gültige URL ist, damit URLs, die durch die erwähnte Heuristik nicht erkannt werden, weil sie z.B. ein Leerzeichen enthalten, wenigstens auf diese Weise dargestellt werden können.

Grüße,
Kolja.
_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#317764) Verfasst am: 22.07.2005, 10:32    Titel: Antworten mit Zitat

Rasmus hat folgendes geschrieben:

. -> Den Teil verstehe ich gar nicht, der Punkt würde jedes Zeichen zulassen, oder nicht?

Nein, in einer bracket expression gelten andere Regeln, "." ist hier kein Platzhalter mehr. Siehe auch die regexp manpages.

Grüße,
Kolja.
_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#317775) Verfasst am: 22.07.2005, 10:53    Titel: Antworten mit Zitat

@Frank:

Ich hab den Thread auf phpbb.de gelesen.

Eventuell wäre dort noch der Hinweis angemessen, dass es sich nicht nur um ein Umlautproblem handelt, da wie gezeigt auch die runden Klammern betroffen sind. Wie ich weiter oben schrieb, sind in dem Teil der URL hinter dem Domain-Namen so ziemlich alle Zeichen erlaubt.

Es wäre auch interessant zu erfahren, warum die stärkere Einschränkung in der URL-Erkennung vorgenommen wurde. (Entwickler tun sowas selten ohne Not.) Vielleicht ein Sicherheitsproblem?
_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Frank
registrierter User



Anmeldungsdatum: 31.07.2003
Beiträge: 6643

Beitrag(#317824) Verfasst am: 22.07.2005, 13:22    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:

Es wäre auch interessant zu erfahren, warum die stärkere Einschränkung in der URL-Erkennung vorgenommen wurde. (Entwickler tun sowas selten ohne Not.) Vielleicht ein Sicherheitsproblem?


Ja. Es ist ein akutes Sicherheitsproblem (Cross-Site-Scripting-Attacke), dass mir schon seit dem 5. Juli bekannt (Bugtraq-Mainingliste) ist. Ich habe das Thema aus Sicherheitsgründen nur im internen Betreiberforum diskutiert, um nicht schlafende Hunde zu wecken. Mit 2.0.17 wurde dass Problem nun sehr restriktiv angegangen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#317843) Verfasst am: 22.07.2005, 14:01    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:

Es wäre auch interessant zu erfahren, warum die stärkere Einschränkung in der URL-Erkennung vorgenommen wurde. (Entwickler tun sowas selten ohne Not.) Vielleicht ein Sicherheitsproblem?
Frank hat folgendes geschrieben:
Ja. Es ist ein akutes Sicherheitsproblem (Cross-Site-Scripting-Attacke), dass mir schon seit dem 5. Juli bekannt (Bugtraq-Mainingliste) ist. Ich habe das Thema aus Sicherheitsgründen nur im internen Betreiberforum diskutiert, um nicht schlafende Hunde zu wecken. Mit 2.0.17 wurde dass Problem nun sehr restriktiv angegangen.

Gibt es irgendwo technische Details dazu, wie diese Attacke funktioniert? Ich sehe immer noch nicht den Zusammenhang mit der URL-Erkennung.
_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AgentProvocateur
registrierter User



Anmeldungsdatum: 09.01.2005
Beiträge: 7851
Wohnort: Berlin

Beitrag(#317888) Verfasst am: 22.07.2005, 14:48    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:
Gibt es irgendwo technische Details dazu, wie diese Attacke funktioniert? Ich sehe immer noch nicht den Zusammenhang mit der URL-Erkennung.

Vielleicht hat das was damit zu tun:

Heise Security hat folgendes geschrieben:
Ursache des Problems ist die Unterstützung von Internationalized Domain Names (IDN), was die Verwendung länderspezifischer Sonderzeichen ermöglicht. Deutsche Domains können durch die Kodierung mit Punycode seit dem 1. März 2004 Umlaute wie ä, ü und ö enthalten. Domain-Namen können so aber auch etwa kyrillische Zeichen umfassen. Unglücklicherweise sieht ein kyrillisches kleines a aber genauso so aus wie ein lateinisches kleines a. Allein der Unicode unterscheidet sich.

Das bedeutet, dass man die domain www.deutsche-bank.de nicht von der domain www.deutsche-bаnk.de unterscheiden kann.

(Wenn man drauf klickt, dann schon.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#317916) Verfasst am: 22.07.2005, 15:44    Titel: Antworten mit Zitat

@AgentProvocateur:

Nein, ich denke eher nicht. Nach meinem Verständnis handelt es sich bei der "Cross-Site-Scripting-Attacke" um eine Möglichkeit unbefugten Zugriff auf den Foren-Server oder die Foren-Datenbank zu erlangen, speziell wenn auf dem gleichen Server verschiedene Foren gehostet werden.

AgentProvocateur hat folgendes geschrieben:
Das bedeutet, dass man die domain www.deutsche-bank.de nicht von der domain www.deutsche-bаnk.de unterscheiden kann.

(Wenn man drauf klickt, dann schon.)

Aber auch nur, weil dein Browser in der URL-Leiste die deutlich erkennbare Ersatzschreibweise verwendet. Das war z.B. bei Firefox nicht immer der Fall, darin bestand die Sicherheitslücke.
_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Frank
registrierter User



Anmeldungsdatum: 31.07.2003
Beiträge: 6643

Beitrag(#317952) Verfasst am: 22.07.2005, 16:48    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:

Gibt es irgendwo technische Details dazu, wie diese Attacke funktioniert? Ich sehe immer noch nicht den Zusammenhang mit der URL-Erkennung.


Unter Rücksichtnahme auf phpBB-Webforen, die noch nicht auf 2.0.17 geupdatet haben, habe ich Dir die Antwort in einem geschützten Unterforum eingestellt.

http://freigeisterhaus.de/viewtopic.php?t=8681
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AgentProvocateur
registrierter User



Anmeldungsdatum: 09.01.2005
Beiträge: 7851
Wohnort: Berlin

Beitrag(#317961) Verfasst am: 22.07.2005, 16:58    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:
@AgentProvocateur:

Nein, ich denke eher nicht. Nach meinem Verständnis handelt es sich bei der "Cross-Site-Scripting-Attacke" um eine Möglichkeit unbefugten Zugriff auf den Foren-Server oder die Foren-Datenbank zu erlangen, speziell wenn auf dem gleichen Server verschiedene Foren gehostet werden.

Ich bezog mich auch nicht auf die "Cross-Site-Scripting-Attacke", das war wohl missverständlich; ich dachte, das von Dir gefundene Problem könnte vielleicht seine Ursache in der von mir geschilderten Sicherheitslücke haben. Allerdings dürfte dann mein 2. Link auch nicht vollständig angezeigt werden, aber das wird er ja leider.

kolja hat folgendes geschrieben:
AgentProvocateur hat folgendes geschrieben:
Das bedeutet, dass man die domain www.deutsche-bank.de nicht von der domain www.deutsche-bаnk.de unterscheiden kann.

(Wenn man drauf klickt, dann schon.)

Aber auch nur, weil dein Browser in der URL-Leiste die deutlich erkennbare Ersatzschreibweise verwendet. Das war z.B. bei Firefox nicht immer der Fall, darin bestand die Sicherheitslücke.

Ich benutze Mozilla, habe mir gerade die neueste Version heruntergeladen (1.7.10) und der zeigt in der URL-Leiste nicht die Ersatzschreibweise an! IE übrigens auch nicht. Was ich meinte mit "wenn man drauf klickt, dann schon", ist, dass der 2. Link ja (noch?) nicht existiert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#317988) Verfasst am: 22.07.2005, 17:44    Titel: Antworten mit Zitat

AgentProvocateur hat folgendes geschrieben:
Ich benutze Mozilla, habe mir gerade die neueste Version heruntergeladen (1.7.10) und der zeigt in der URL-Leiste nicht die Ersatzschreibweise an! IE übrigens auch nicht. Was ich meinte mit "wenn man drauf klickt, dann schon", ist, dass der 2. Link ja (noch?) nicht existiert.

Oh, das wundert mich. Laut diesem Security-Advisory wurde das Problem in Firefox 1.0.1 und Mozilla Suite 1.7.6 gefixt.

Der Fix besteht übrigens darin, dass eine Einstellung hinzugefügt wurde, mit der die Darstellung von IDN-Domains in der erwähnten Ersatzschreibweise ("punycode") eingeschaltet werden kann. Diese Einstellung wird außerdem standardmäßig aktiviert.

Gib mal in deiner URL-Leiste "about:config" ein, dann erscheint eine lange Liste von Einstellungen. In dem Eingabefeld "Filter" gibst du dann "IDN" ein, dann bleiben nur noch wenige davon sichtbar. Die Einstellung "network.IDN_show_punycode" sollte auf "true" stehen.

Grüße,
Kolja.
_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AgentProvocateur
registrierter User



Anmeldungsdatum: 09.01.2005
Beiträge: 7851
Wohnort: Berlin

Beitrag(#317992) Verfasst am: 22.07.2005, 18:04    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:
AgentProvocateur hat folgendes geschrieben:
Ich benutze Mozilla, habe mir gerade die neueste Version heruntergeladen (1.7.10) und der zeigt in der URL-Leiste nicht die Ersatzschreibweise an! IE übrigens auch nicht. Was ich meinte mit "wenn man drauf klickt, dann schon", ist, dass der 2. Link ja (noch?) nicht existiert.

Oh, das wundert mich. Laut diesem Security-Advisory wurde das Problem in Firefox 1.0.1 und Mozilla Suite 1.7.6 gefixt.

Der Fix besteht übrigens darin, dass eine Einstellung hinzugefügt wurde, mit der die Darstellung von IDN-Domains in der erwähnten Ersatzschreibweise ("punycode") eingeschaltet werden kann. Diese Einstellung wird außerdem standardmäßig aktiviert.

Gib mal in deiner URL-Leiste "about:config" ein, dann erscheint eine lange Liste von Einstellungen. In dem Eingabefeld "Filter" gibst du dann "IDN" ein, dann bleiben nur noch wenige davon sichtbar. Die Einstellung "network.IDN_show_punycode" sollte auf "true" stehen.

Komisch ist das. Die von Dir beschriebene Einstellung stand auf "true"; ich hatte aber, wie's im Heise-Artikel steht, die Einstellung "network.enableIDN" auf "false" gestellt. Mit dieser Einstellung wird die Ersatzschreibweise nicht angezeigt, wenn ich's auf "true" stelle, wird sie angezeigt. Das verstehe, wer will.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kolja
der Typ im Maschinenraum
Betreiber



Anmeldungsdatum: 02.12.2004
Beiträge: 16631
Wohnort: NRW

Beitrag(#318000) Verfasst am: 22.07.2005, 18:43    Titel: Antworten mit Zitat

AgentProvocateur hat folgendes geschrieben:
Komisch ist das. Die von Dir beschriebene Einstellung stand auf "true"; ich hatte aber, wie's im Heise-Artikel steht, die Einstellung "network.enableIDN" auf "false" gestellt. Mit dieser Einstellung wird die Ersatzschreibweise nicht angezeigt, wenn ich's auf "true" stelle, wird sie angezeigt. Das verstehe, wer will.

Ja, Heise beschreibt solche Probleme in dem von dir verlinkten Artikel ganz unten unter "Update". Offenbar war das kein so guter Vorschlag von denen, der stammt auch noch aus der Zeit vor dem Fix von Mozilla. Ich würde dir die Rückkehr zur Standardeinstellung empfehlen ("network.enableIDN=true" und "network.IDN_show_punycode=true"), dann siehst du in der URL-Leiste wenigstens "die Wahrheit (tm)". zwinkern
_________________
Hard work often pays off after time, but laziness always pays off now.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AgentProvocateur
registrierter User



Anmeldungsdatum: 09.01.2005
Beiträge: 7851
Wohnort: Berlin

Beitrag(#318010) Verfasst am: 22.07.2005, 19:24    Titel: Antworten mit Zitat

kolja hat folgendes geschrieben:
Ich würde dir die Rückkehr zur Standardeinstellung empfehlen ("network.enableIDN=true" und "network.IDN_show_punycode=true"), dann siehst du in der URL-Leiste wenigstens "die Wahrheit (tm)". zwinkern

Da ich ein bisschen paranoid bin, habe ich jetzt IDN ausgeschaltet ("network.enableIDN=false"). Das funktioniert inzwischen auch, wenn der Browser neu gestartet wird.

Übrigens hier mal eine existierende Adresse zum Testen: http://www.pаypal.com/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Frank
registrierter User



Anmeldungsdatum: 31.07.2003
Beiträge: 6643

Beitrag(#318370) Verfasst am: 23.07.2005, 22:24    Titel: Antworten mit Zitat

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen   Drucker freundliche Ansicht    Freigeisterhaus Foren-Übersicht -> Maaaaamiiii !!!! Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Impressum & Datenschutz


Powered by phpBB © 2001, 2005 phpBB Group