WinFuture-Forum.de: Php-aufbauart Beim Programmieren - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Php-aufbauart Beim Programmieren

#16 Mitglied ist offline   FutureCrasher 

  • Gruppe: aktive Mitglieder
  • Beiträge: 249
  • Beigetreten: 12. April 03
  • Reputation: 0
  • Wohnort:Nürnberg

geschrieben 10. Juni 2005 - 13:21

Zitat (Slayer: 10.06.2005, 14:12)

Wieso bringt mir es bei inlude(); Sicherheitsriesiken? Kann ich denn dann auch mit readfile(); alles der Datei ausgeben (auch PHP-Befehle usw.)?
<{POST_SNAPBACK}>


Es könnte jemand auf nem anderen Server ne Datei mit beliebigen Code ablegen und die datei mit dem MimeType text/plain übertragen – sofern du jetzt den dateinamen per GET oder POST übertragen lässt, lässt sich das sehr schön manipulieren :allesgute:
Daher sollte man sowas immer prüfen und sein Script gegen sowas absichern.
0

Anzeige



#17 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.476
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 10. Juni 2005 - 13:24

@FutureCrasher

Aber man sieht nirgens, dass bei der Datei eine .html-File aus dem Template eingeschlossen wurde mit include();
Es wird nämlich nichts per $_GET übertragen oder so und woran soll man es als Besucher sonst sehen?

Was ist nun mit readfile(); ?
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#18 Mitglied ist offline   FutureCrasher 

  • Gruppe: aktive Mitglieder
  • Beiträge: 249
  • Beigetreten: 12. April 03
  • Reputation: 0
  • Wohnort:Nürnberg

geschrieben 10. Juni 2005 - 13:32

Sofern du eine per GET oder POST oder sonstwie übertragene Variable nicht ungeprüft im Dateinamen verwendest, isses ok.

Über readfile() kannst du eine Datei lesen, die dann gleich in die Ausgabe geschrieben wird, ohne dass in der was ausgeführt wird.
Bei reinen HTML-Dateien usw. is das dann besser als n include() – sobald du aber zuvor noch irgendwas mit der Datei anstellen willst, wär die Methode wieder nicht zu empfehlen, auch wenns möglich ist, die Ausgabe im Nachhinein noch zu verändern, sofern man mit den ob_*-Funktionen und entsprechenden Handlern usw. arbeitet.
0

#19 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.476
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 10. Juni 2005 - 13:38

Hm also wenn ich z.B. überprüfe ob eine Session gesetzt wurde (das Mitglied also eingeloggt ist) dann wird per incldue(); eine HTML-Datei mit dem Mitgliederbereich eingefügt.
Wenn nicht, dann per include(); eine HTML-Datei mit dem Loginformular.

Ist sowas jetzt ein Sicherheitsrisiko oder mache mal ein beispiel, ab wann es gefährlich wäre?

Und kann ich denn mit readfile(); dann auch in den HTML-Dateien einen PHP-Code ausführen (Datenbankabfragen...)?
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#20 Mitglied ist offline   FutureCrasher 

  • Gruppe: aktive Mitglieder
  • Beiträge: 249
  • Beigetreten: 12. April 03
  • Reputation: 0
  • Wohnort:Nürnberg

geschrieben 10. Juni 2005 - 13:44

hmpf... das hab ich eigentlich grade alles beschrieben:

Bei readfile() wird die Datei eingelesen wie sie ist und in die Ausgabe geschrieben - ohne irgendwas mit ihr zu machen.

Wenn du nur abfragst, ob eine Variable gesetzt ist und dann eine bestimmte Datei deswegen einbindest, sollte das recht ungefährlich sein. Ich bezog mich nur darauf, dass man die Variable z. B. direkt im Dateinamen verwenden könnte. So Sachen wie include($_GET["site"].".php"); und sowas dann…
0

#21 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.476
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 10. Juni 2005 - 13:46

Zitat (FutureCrasher: 10.06.2005, 14:44)

Wenn du nur abfragst, ob eine Variable gesetzt ist und dann eine bestimmte Datei deswegen einbindest, sollte das recht ungefährlich sein. Ich bezog mich nur darauf, dass man die Variable z. B. direkt im Dateinamen verwenden könnte. So Sachen wie include($_GET["site"].".php"); und sowas dann…
<{POST_SNAPBACK}>

Achso na dann... nein, das wäre natürlkich ein Sicherheitsrisiko, weil man so ja den Pfad erkennen kann, das ist klar :baby:
Danke, jetzt habe ich es geschnallt :allesgute:
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0