ZitatAlles anzeigenHuhu,
heute zeige ich euch, wie ihr eure Seiten vor RFI- und LFI-Attacken schützt.
Was sind das für Attacken ?
Bei RFI wird eine externe Datei eingebunden. Dies geschieht z.B. über
http://www.deine-homepage.de/i…kerseite.de/schadcode.php
Würde in hackerseite.de “echo ‘huhu’;” stehen, würde auf der Webseite “huhu” stehen. Klingt harmlos, doch was passiert, wenn in der schadcode.php Code zum löschen aller Dateien steht ? Oder das auslesen der Datenbank ?
Bei LFI geschieht das selbe, z.b. wird der Apache-Zugriffslog eingebunden. Der wurde dann mit einem veränderten User-Agent angepasst.
Wie schütze ich mich ?
Nichts leichter als das, wir untersuchen “$_GET['page']” nach Zeichen, die keine Buchstaben sind. Das ist mit einer einzigen Zeile gelöst:PHPif(preg_match('/^[a-z]+$/', $_GET['page']) == false) { die('potentielle RFI oder LFI-Attacke erkannt'); } // continue;
Eine weitere Alternative währe, zu überprüfen, ob die angegebene Datei existiert. Dabei wird sich ein "Bug" zu nutzen gemacht, denn die Funktion "file_exists" gibt immer false zurück, wenn der Pfad außerhalb des eigenen Servers liegt...
Zu guter letzt noch den Tipp: Seiten in ein Unterverzeichnis. Dann wird ein String vor dem $_GET gesetzt und quasi ausgeschlossen, dass eine externe Seite eingebunden wird.
Ich hoffe, ich konnte euren Webauftritt etwas absichern…
Tion
Quelle: tionsys.de + erweiterte Anmerkungen
/e: Bug rausgehaut, danke an @BubleBub: