Az LFI jellemzően ott fordul elő, ahol a program egy URL-paraméterből rakja össze a beolvasandó fájl útvonalát, ellenőrzés nélkül. A támadó ilyenkor kiléphet a megengedett mappából, és például a jelszavakat tartalmazó konfigurációs fájlt olvashatja ki.
Védekezés
- Az útvonal soha ne jöjjön közvetlenül a látogatótól: engedélyezett nevek listája, a fájlnév megtisztítása.
- A PHP-ban az open_basedir beállítás leszűkíti, mely mappákhoz férhet hozzá a program.
- A feltöltött fájlok ne kerülhessenek futtatható helyre.
A PHP2Shell-hibákhoz nyilvánosan terjedő támadókódok nagy része is csak akkor működött, ha a célalkalmazásban egy LFI-hiba is volt.