SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 25.02.2009, 10:29:21
mgutt mgutt ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 65
Sicherheit bei automatischer Verlinkung (BBCode)

Hi!

In vielen Scripten werden Links nur unter bestimmten Voraussetzungen verlinkt. D.h. sie dürfen nur bestimmte Zeichen laut Standard enthalten. Mittlerweile ist es aber so (sehr häufig Wikipedia-Links), dass auch Umlaute in den URLs eingesetzt werden, da eigentlich jeder Browser damit umgehen kann. Entweder er wandelt sie selbst korrekt um oder er öffnet die Umlaute direkt.

Welchen Grund gibt es überhaupt dafür die URLs auf bestimmte Zeichen zu reduzieren? Geht man von einem preg_replace() aus, müsste doch die Angabe von "(http[^\s\[\]\"<>'])" performanter sein, als wenn man die ganzen erlaubten Zeichen auflistet.

In den meisten Scripten steht "security", doch ich frage mich, um welche Sicherheit es dabei gehen soll. Oder meint man damit bereits das Ausschließen HTML-relevanter Zeichen, die den Code sprengen könnten?

Gruß
Mit Zitat antworten
  #2  
Alt 25.02.2009, 15:42:45
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Sicherheit bei automatischer Verlinkung (BBCode)

Zitat:
Zitat von mgutt Beitrag anzeigen
Mittlerweile ist es aber so (sehr häufig Wikipedia-Links), dass auch Umlaute in den URLs eingesetzt werden, da eigentlich jeder Browser damit umgehen kann. Entweder er wandelt sie selbst korrekt um oder er öffnet die Umlaute direkt.
nein. der IE6 kann bspw. keine umlaut-domains "von haus aus" interpretieren. er benötigt dazu ein spezielles plugin oder die URI muss speziell kodiert sein. siehe dazu auch http://de.wikipedia.org/wiki/Punycode

Zitat:
Zitat von mgutt Beitrag anzeigen
Welchen Grund gibt es überhaupt dafür die URLs auf bestimmte Zeichen zu reduzieren?
der ascii-zeichensatz ist der kleinste gemeinsame nenner in der edv.

Zitat:
Zitat von mgutt Beitrag anzeigen
Oder meint man damit bereits das Ausschließen HTML-relevanter Zeichen, die den Code sprengen könnten?
richtig. ein "<" möchte niemand an ein script weiterreichen, und schon gar nicht ausgeben.

cx
Mit Zitat antworten
  #3  
Alt 25.02.2009, 15:52:27
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Sicherheit bei automatischer Verlinkung (BBCode)

http://de.wikipedia.org/wiki/Cross-Site_Scripting
Mit Zitat antworten
  #4  
Alt 25.02.2009, 17:35:58
mgutt mgutt ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 65
AW: Sicherheit bei automatischer Verlinkung (BBCode)

Zitat:
Zitat von cortex Beitrag anzeigen
nein. der IE6 kann bspw. keine umlaut-domains "von haus aus" interpretieren.
Jo, da aber mittlerweile fast alle mit FF3 und IE7 unterwegs sind, häufen sich die Links, die Umlaute enthalten. Und erklär mal nen Nutzer, warum müller.de oder example.com/müller.htm "falsch" sind.

Zitat:
der ascii-zeichensatz ist der kleinste gemeinsame nenner in der edv.
Verstehe ich nicht. Erlaubt sind laut Norm: 26 kleine Buchstaben, 26 große Buchstaben, 10 Ziffern und ";/?:@=&$-_.+!*'(),%#". Das sind alleine 20 Sonderzeichen, die man separat auflisten muss, wenn man einen regex bastelt. Ebay nutzt z.B. das unsichere Zeichen "|", weshalb man alleine deswegen schon den Filter anpassen muss. Naja und die Umlaute hat man dann auch nicht.

So rein theoretisch dachte ich, dass wenn man weniger Zeichen in den regex-Filter setzt, dieser auch performanter ist.

@ XSS
Schon klar, deswegen schrieb ich ja [^<>"']. XSS kann man nur einsetzen, wenn man den generierten href gesprengt bekommt.

Geändert von mgutt (25.02.2009 um 17:39:00 Uhr)
Mit Zitat antworten
  #5  
Alt 25.02.2009, 22:20:51
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Sicherheit bei automatischer Verlinkung (BBCode)

Zitat:
Zitat von mgutt Beitrag anzeigen
Jo, da aber mittlerweile fast alle mit FF3 und IE7 unterwegs sind
woher hast du das denn...? klingt wie dein eigener (subjektiver) eindruck. andere webworker, logdateien von mir betreuter projekte und seiten wie webhits.de sagen was anderes.

zur regex-geschichte: schau dir doch mal die (relativ neuen) filter-funktionen von php an - vielleicht findest du etwas passendes:

http://de3.php.net/manual/de/book.filter.php

cx
Mit Zitat antworten
  #6  
Alt 25.02.2009, 22:58:30
mgutt mgutt ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 65
AW: Sicherheit bei automatischer Verlinkung (BBCode)

Meine Nutzer (immerhin 20.000 täglich) nutzen die folgenden Browser:
52% Firefox (davon 95% FF3)
40% IE (davon 70% IE7)

Also in der Summe nutzen bereits 77,4% einen modernen Browser. Ich betreibe hauptsächlich KFZ-Communities. Es kann also nicht die Rede von PC-Profis sein.

Die webhits-Ermittlung halte ich für falsch. Meine Daten sind von Analytics. Aber mein Webalizer gibt weitestgehend identische Infos aus. Da Analytics nur JS-Besucher erkennt, schenke ich dem mehr Vertrauen, da er dadurch weit aus weniger auf Fake-User-Bots hereinfällt.

@ Filter
Nett, aber das nächste Versionsupdate wird sicher noch dauern. Wenn ich das aber richtig verstehe, dann würden Umlaute dort ebenfalls unter den Tisch fallen.

Geändert von mgutt (25.02.2009 um 22:59:51 Uhr)
Mit Zitat antworten
  #7  
Alt 25.02.2009, 23:07:12
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Sicherheit bei automatischer Verlinkung (BBCode)

weisst du, diese spekulationen über die marktanteile des IE6 sind so alt... am besten, jeder macht sich seine eigenen gedanken dazu.

wenn du im konkreten fall auf ( 100 - 77,4 ) % der user verzichten kannst...

cx
Mit Zitat antworten
  #8  
Alt 27.02.2009, 19:18:39
mgutt mgutt ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 65
AW: Sicherheit bei automatischer Verlinkung (BBCode)

Ich glaube Du verstehst nicht so ganz worauf ich hinaus will.

Wenn jemand diesen Link postet:
http://de.wikipedia.org/wiki/Müller

Kann ihn keiner anklicken (bei mir, hier schon). Dabei ist es doch unerheblich, ob der Anwender einen alten Browser hat oder nicht.

Du gehst davon aus, dass ich die URLs nicht korrekt codiere oder sowas. Aber das macht niemand. Hier im Forum interessiert das offensichtlich auch nicht ;)
Mit Zitat antworten
  #9  
Alt 01.03.2009, 13:29:49
mgutt mgutt ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 65
AW: Sicherheit bei automatischer Verlinkung (BBCode)

Um wieder zum Thema zu kommen:
Es ist also nur wg. XSS wichtig einen Filter zu setzen, richtig?
Mit Zitat antworten
  #10  
Alt 08.03.2009, 15:06:10
mgutt mgutt ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 65
AW: Sicherheit bei automatischer Verlinkung (BBCode)

Ich habe in einem exploit noch das hier gefunden:
PHP-Code:
[url=javascript://%0ASh=alert(%22CouCou%22);window.close();]Alert box with "CouCou"[/url]

[url=javascript://%0ASh=new%20ActiveXObject(%22WScript.shell%22);Sh.regwrite(%22HKCU%5C%5CQQQQQ%5C%5Cqq%22,%22CouCou%22)
;window.close();]Create registry entryHKCUQQQQQqq "CouCou"[/url]

[
url=javascript://%0Awindow.opener.document.body.innerHTML=window.opener.document.body.innerHTML.replace(%27Hi%20Paul%27
,%27Hi%20P.A.U.L%27);window.close();]Modify opener pagePaul -> P.A.U.L[/url
Also man darf in keinem Fall den Wert vor dem :// variabel lassen.

vbulletin hat damit auch ein Problem, hat aber einen anderen "Fehler", weshalb das ganze nicht zum Tragen kommt. Es werden dabei <b>-Tags zwischen javascript und :// gesetzt:
Alert box with "CouCou"

Vielleicht ist das auch Absicht, aber sieht zumindest komisch aus ;)

Geändert von mgutt (08.03.2009 um 15:14:24 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
BBCode Filter urvater PHP Grundlagen 6 20.01.2009 20:56:01
Klasse BBCode global machen huelse PHP Grundlagen 3 30.12.2008 20:05:11
Verlinkung ändern DonTraube PHP für Fortgeschrittene und Experten 7 24.12.2007 14:45:50
Wichtig: Upload Script auf FTP-Server und dessen Sicherheit? Supernova PHP für Fortgeschrittene und Experten 5 21.07.2004 12:41:52
BBCode + PHPHighlight lernen Corvin PHP für Fortgeschrittene und Experten 2 02.06.2004 22:57:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:40:57 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt