LFI (Local File Inclusion), bir web uygulamasının kullanıcıdan aldığı dosya veya sayfa bilgisini yeterli kontrol yapmadan sunucudaki dosyalara erişmek için kullanması sonucu oluşan güvenlik açığıdır.

Örneğin bir PHP sayfasında şu tarz bir yapı varsa;

include($_GET['page'] . '.php');
normal kullanım şu şekilde olabilir;

?page=anasayfa
Ancak kullanıcı tarafından gönderilen page değeri yeterince kontrol edilmiyorsa, saldırgan dizinler arasında gezinmeye çalışarak uygulamanın erişmemesi gereken yerel dosyaları okutmayı deneyebilir.

Örneğin mantık olarak şu tür bir giriş denenebilir;

?page=../../../../dosya
Buradaki ../ ifadesi bir üst dizine çıkmayı ifade eder. Eğer uygulama bu değeri doğrudan dosya yoluna ekliyorsa beklenmeyen dosyalara erişim riski oluşabilir.

Sadece ".php" eklemek veya birkaç karakteri engellemek LFI açığını tamamen önlemek için yeterli değildir.

LFI açıklarını önlemek için kullanıcıdan doğrudan dosya yolu alınmamalı, izin verilen sayfalar whitelist mantığıyla önceden tanımlanmalı ve include/require işlemlerinde yalnızca güvenilir sabit yollar kullanılmalıdır.