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 ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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 für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 12.06.2008, 11:52:02
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
Filterung hexadezimaler Zeichen

Wie geht Ihr eigentlich mit der Filterung böser User-Daten um, insbesondere hexadezimaler Zeichen ?

Prüfe ich bspw. eine GET-variable auf "dates" wird ebenso "%64%61%74%65%73" akzeptiert. Das macht die Anwendung prinzipiell für Manipulationen anfällig.

Sollte man mit einer White- / Blacklist arbeiten ? Kann der Server so konfiguriert werden, dass hex-Werte nicht akzeptiert werden ?

Bin gespannt auf Eure Meinung,
cx
Mit Zitat antworten
  #2  
Alt 12.06.2008, 12:10:48
smartweb smartweb ist offline
Anfänger
 
Registriert seit: Jun 2008
Alter: 57
Beiträge: 60
AW: Filterung hexadezimaler Zeichen

Wo siehst Du da Hex-Werte?

Wenn Du %64 meinst, naja da kannst Du doch einfach hergehen und checken ob der User ein valides Datum eingegeben hat:

PHP-Code:

if (!preg_match("/[0-9]{2}-[0-9]{2}-[0-9]{4}/",$_GET['datum'])) { //dd-mm-yyyy
 
$error++;
 exit();


//oder davor:
foreach($_GET as $k => $v) {
 ${
$k} = preg_replace("/%/","",$v);
}

//oder das Datum einfach mit checkdate() prüfen 
__________________
Florian Wiessner

Smart Weblications GmbH
Martinsberger Str. 1
D-95119 Naila

fon.: +49 700 762 789 32 - 0,12 EUR/Min*
fax.: +49 700 762 789 32 - 0,12 EUR/Min*
24/7: +49 900 311 886 00 - 1,99 EUR/Min*
http://www.smart-weblications.de

--
Sitz der Gesellschaft: Naila
Geschäftsführer: Florian Wiessner
HRB-Nr.: HRB 3840 Amtsgericht Hof
*aus dem dt. Festnetz, ggf. abweichende Preise aus dem Mobilfunknetz
Mit Zitat antworten
  #3  
Alt 12.06.2008, 12:17:37
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
hex-Zeichen

du hast mich leider falsch verstanden; ich meine folgendes:

Code:
http://domain.de/index.php?var=dates
wird genau so akzeptiert wie:

Code:
http://domain.de/index.php?var=%64%61%74%65%73
cx
Mit Zitat antworten
  #4  
Alt 12.06.2008, 12:43:39
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: Filterung hexadezimaler Zeichen

wenn ich es richtig verstehe, werden doch nur die Hexa akzeptiert die einem von dir gesetzten Parameter entsprechen, oder nicht?

Wo ist also der unterschied ob der Parameter alphanumerisch , Hexa oder binär übergeben wird?

Ist dir eine Sicherheitslücke für Hexa werte bekannt? Wenn ja wärst du so freundlich diese mit anderen Server Besitzern zu teilen?
Mit Zitat antworten
  #5  
Alt 12.06.2008, 13:03:01
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
sicherheitslücke

Zitat:
Zitat von Indyk Beitrag anzeigen
wenn ich es richtig verstehe, werden doch nur die Hexa akzeptiert die einem von dir gesetzten Parameter entsprechen
das stimmt soweit für das gezeigte beispiel - solange ich mit einer art whitelist arbeite, sehe ich auch kein problem: die kodierung der übergebenen zeichen ist egal.

kenne ich allerdings den inhalt der user-daten nicht (z.b. beliebige texteingabe) sehe ich das risiko, dass hex-kodierte zeichen wie < oder > in die anwendung gelangen.

cx

ps. kann sein, dass ich den wald vor lauter bäumen nicht sehe...

cx
Mit Zitat antworten
  #6  
Alt 26.06.2008, 15:31:23
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
abschluss des themas

nun, es hat sich ja kaum jemand an der diskussion beteiligt... schade. bin bei der frage inzwischen durchgestiegen - falls irgend jemand interesse bekunden sollte, schreib ich nochmal ein paar zeilen dazu.

cx
Mit Zitat antworten
  #7  
Alt 26.06.2008, 15:40:01
smartweb smartweb ist offline
Anfänger
 
Registriert seit: Jun 2008
Alter: 57
Beiträge: 60
AW: Filterung hexadezimaler Zeichen

Wie gesagt, das einfachste ist wohl alle % zu ersetzen...
__________________
Florian Wiessner

Smart Weblications GmbH
Martinsberger Str. 1
D-95119 Naila

fon.: +49 700 762 789 32 - 0,12 EUR/Min*
fax.: +49 700 762 789 32 - 0,12 EUR/Min*
24/7: +49 900 311 886 00 - 1,99 EUR/Min*
http://www.smart-weblications.de

--
Sitz der Gesellschaft: Naila
Geschäftsführer: Florian Wiessner
HRB-Nr.: HRB 3840 Amtsgericht Hof
*aus dem dt. Festnetz, ggf. abweichende Preise aus dem Mobilfunknetz
Mit Zitat antworten
  #8  
Alt 26.06.2008, 16:18:59
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
what?

Zitat:
Zitat von smartweb Beitrag anzeigen
Wie gesagt, das einfachste ist wohl alle % zu ersetzen...
1. es wurde noch gar nichts gesagt...

2. ich spreche über ein generelles problem - nämlich die unterschiedlichen möglichkeiten zur kodierung von zeichen. das ganze ist ein wenig komplexer.

3. das prozent-zeichen hat selbst im täglichen sprachgebrauch eine wichtige bedeutung - einfach ersetzen is nich.

cx
Mit Zitat antworten
  #9  
Alt 26.09.2008, 10:35:19
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: abschluss des themas

Zitat:
Zitat von cortex Beitrag anzeigen
nun, es hat sich ja kaum jemand an der diskussion beteiligt... schade. bin bei der frage inzwischen durchgestiegen - falls irgend jemand interesse bekunden sollte, schreib ich nochmal ein paar zeilen dazu.

cx
Hiermit krame ich diesen etwas älteren Thread raus und bekunde Interesse.
Mit Zitat antworten
  #10  
Alt 26.09.2008, 11:33:37
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Filterung hexadezimaler Zeichen

Dann will ich mal meine bescheidene Meinung einstreuen.....

Einen generischen Parametertest einzubauen halte ich nur für beschränkt sinnvoll.
Weiter als http://www.hardened-php.net/suhosin/a_feature_list.html DARF man nicht gehen.

Ob % im GET oder gar JS in Textareas, erst die Anwendung selber kann entscheiden, ob das an der Stelle erlaubt ist. Von daher MUSS jeder Parameter einzeln, vor der Verwendung, geprüft werden.

Eine recht brauchbare Basis ist: http://de.php.net/manual/de/book.filter.php

Dem laxen Umgang mit Typen, Codierungen usw. im PHP kann man nur mit Disziplin beikommen.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
Zeichen ersetzen jdgf MySQLi/PDO/(MySQL) 1 04.02.2008 12:48:59
strcspn übereinstimmende Zeichen Wasabi PHP Grundlagen 2 04.09.2006 14:11:34
unerlaubte zeichen in variable rausfiltern logen PHP für Fortgeschrittene und Experten 2 17.06.2006 20:26:23
dastellen eines ascii-codes als zeichen Willow HTML, CSS und JavaScript Help! 2 22.08.2005 20:20:27
$text, nach gewissen anz. v. zeichen text einfügen flobee PHP für Fortgeschrittene und Experten 3 13.09.2002 20:46:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:52:21 Uhr.


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


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