Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

realpath sicher?

Diskussion: realpath sicher? im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi, ich bin gerade auf die funktion realpath(); gestoßen kurz das php handbuch gewältzt bissel informiert nur jetzt hab ...

Antwort
Alt 04.02.07, 17:15   #1 (permalink)
Senior Member
 
Benutzerbild von Chakky
 
Registriert seit: 28.10.03
Chakky Leistung: 8086
Chakky eine Nachricht über ICQ schicken
Likes: 110
Standard realpath sicher?

Anzeige

Hi,
ich bin gerade auf die funktion realpath(); gestoßen kurz das php handbuch gewältzt bissel informiert nur jetzt hab ich folgende frage:

bei foglendem code

PHP-Code:
$seite $_GET['site'];

$seite realpath($seite".php");

include(
$seite); 
kann man nicht einfach in ein höheres verzeichnis springen und/oder mit %00 als endung eine beliebiges file aufrufen wie zum bsp /etc/passwrd

sehe ich das richtig?

also ist die funktion "100%" sicher?

danke :)
__________________
cu
Chakky

we are dreaming in digital
we are living in realtime
we are thinking in binary
we are talking in IP
welcome to our world
Chakky ist offline   Mit Zitat antworten
Alt 04.02.07, 19:28   #2 (permalink)
 
Registriert seit: 06.04.05
adrian90 Leistung: Facit NTK
Likes: 0
Standard

Prüfe doch die Variable "$seite", wenn sie mit realpath bearbeitet ist noch, ob der der Pfad "dein unterdateienordner\" im String vorkommt. Der Befehl heisst glaubich strstr();
adrian90 ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 04.02.07, 19:31   #3 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
nein die Funktion ist ___nicht____ sicher. Man darf ____nie___ den User bestimmen lassen, welche Seite eingebunden wird. Du musst immer eine List haben, mit Dateien, die eingebunden werden dürfen, ohne Probleme zu verursachen.
Alles andere ist unsicher.
Elderan ist offline   Mit Zitat antworten
Alt 05.02.07, 10:19   #4 (permalink)
Senior Member
Themenstarter
 
Benutzerbild von Chakky
 
Registriert seit: 28.10.03
Chakky Leistung: 8086
Chakky eine Nachricht über ICQ schicken
Likes: 110
Standard

Zitat:
Original von Elderan
Hallo,
nein die Funktion ist ___nicht____ sicher. Man darf ____nie___ den User bestimmen lassen, welche Seite eingebunden wird. Du musst immer eine List haben, mit Dateien, die eingebunden werden dürfen, ohne Probleme zu verursachen.
Alles andere ist unsicher.
also eine whitelist?

wie würde ein evtl falsches includen aussehen wenn ich einfach ./../../hoeheres_verzeichnis/tst versuche zu includen geht das nich

im handbuch steht ja auch das "./" etc ausgefiltert werden...
__________________
cu
Chakky

we are dreaming in digital
we are living in realtime
we are thinking in binary
we are talking in IP
welcome to our world
Chakky ist offline   Mit Zitat antworten
Alt 05.02.07, 10:42   #5 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 52
Standard

wenn nur ./ ausgeschlossen werden, könnte sowas wie

'eineseite.php\");$seite=\"eineandereseite'

funktionieren. also muss nicht, aber möglich wäre es und vielleicht gibt es ja auch andere möglichkeiten, das zu umgehen. letztendlich muss man immer alles prüfen, wo der user manipulieren oder eingeben kann!

irgendwo hier im board gabs auch schon mindestens einmal den vorschlag, nur zahlen oder wörter zu übergeben, und dann in einem array den passenden link zu hinterlegen. dann kann definitiv niemand darüber ne nicht von dir autorisierte seite aufrufen
lightsaver ist offline   Mit Zitat antworten
Alt 05.02.07, 12:09   #6 (permalink)
LX
Moderator
 
Registriert seit: 14.02.06
LX Leistung: Z3
LX eine Nachricht über ICQ schicken LX eine Nachricht über AIM schicken LX eine Nachricht über Yahoo! schicken
Likes: 21
Lightbulb

Zitat:
Original von Chakky
im handbuch steht ja auch das "./" etc ausgefiltert werden...
"Herausfiltern" ist hier aber nur kosmetisch zu verstehen. Der Pfad wird so berechnet, dass keine ../ oder ./ darin vorkommen, bleibt aber ansonsten identisch. realpath() bietet so jedenfalls keinerlei Schutzfunktion.
__________________
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

JS BB LX UP
LX ist offline   Mit Zitat antworten
Alt 05.03.07, 13:19   #7 (permalink)
 
Registriert seit: 02.08.05
Domi-ON.de Leistung: Facit NTK
Domi-ON.de eine Nachricht über ICQ schicken
Likes: 0
Standard

Also ich habs z.B. inner Navi bei mir so gelöst:


Code:
<?php

    $seiten = Array();

    $seiten[] = "willkommen";
    $seiten[] = "impressum";
    $seiten[] = "gaestebuch";
    $seiten[] = "news"; 
    $seiten[] = "thatsme";
    $seiten[] = "faq";
    $seiten[] = "sponsoren";
    $seiten[] = "videos";    
    
    if (isset($_GET['section']) && !empty($_GET['section'])) {

        if ( in_array($_GET['section'], $seiten) && file_exists("site/module/" . $_GET['section'] . ".php") ) {
            include("site/module/" . $_GET['section'] . ".php");
        } else {
            echo "404. Seite nicht gefunden.";
        }
    } else {
        include("site/module/" . $seiten[0] . ".php");
    }

?>
vllt hilfts als Denkanstoss!

GreeTz
Domi
Domi-ON.de ist offline   Mit Zitat antworten
Alt 06.03.07, 11:22   #8 (permalink)
Senior Member
Themenstarter
 
Benutzerbild von Chakky
 
Registriert seit: 28.10.03
Chakky Leistung: 8086
Chakky eine Nachricht über ICQ schicken
Likes: 110
Standard

ich hatte den code nur in ner seite gefunden

habs auch mit ner white liste gemacht bei mir
__________________
cu
Chakky

we are dreaming in digital
we are living in realtime
we are thinking in binary
we are talking in IP
welcome to our world
Chakky ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » realpath sicher?
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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie sicher ist WPA? v01d WLAN-Zone 27 07.01.07 12:20
Ist das sicher? [starfoxx] (Web-) Design und webbasierte Sprachen 9 05.10.05 12:41
sicher? r4ptor Hacks & Crackmes 9 25.09.05 22:14
Wie sicher ist PHP? candyman (Web-) Design und webbasierte Sprachen 9 08.01.05 00:37
AES sicher ? Arthi Cryptography & Encryption 1 18.09.04 16:20


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61