---
title: "Local File Inclusion"
description: "Local File Inclusion (LFI) to podatność pozwalająca dołączyć lokalny plik serwera przez manipulację parametrem. Poznaj mechanizm ataku i metody ochrony."
url: "https://nodea.pl/pl/slownik-pojec/local-file-inclusion"
lang: "pl"
updated: "2026-07-13"
---

# Local File Inclusion

> Local File Inclusion (LFI) to podatność aplikacji webowej pozwalająca atakującemu dołączyć i odczytać dowolny lokalny plik serwera przez manipulację parametrem wejściowym.

**Local File Inclusion** (LFI, dołączanie plików lokalnych) to podatność aplikacji internetowej, która pozwala atakującemu spowodować dołączenie i odczyt dowolnego pliku znajdującego się na serwerze. Luka powstaje, gdy aplikacja buduje ścieżkę do dołączanego pliku na podstawie danych od użytkownika bez odpowiedniej walidacji.

## Na czym polega atak LFI

Podatność najczęściej dotyczy skryptów, które ładują pliki na podstawie parametru w adresie URL, na przykład *?strona=kontakt*. Jeśli aplikacja bezpośrednio wstawia wartość parametru do funkcji dołączającej plik (jak *include* w PHP), atakujący może podmienić ją na ścieżkę do innego pliku. Klasyczną techniką jest *path traversal* — użycie sekwencji *../*, by wyjść poza przewidziany katalog i sięgnąć po pliki systemowe, konfiguracyjne czy zawierające dane uwierzytelniające. W skrajnych przypadkach, w połączeniu z innymi lukami (np. możliwością zapisu do logów), LFI prowadzi do zdalnego wykonania kodu. To odmienny wektor niż [SQL injection](https://nodea.pl/pl/slownik-pojec/sql-injection) czy [XSS](https://nodea.pl/pl/slownik-pojec/xss), choć wszystkie wynikają z tego samego grzechu: zaufania danym od użytkownika.

## Zastosowanie w praktyce

Ochrona przed LFI opiera się na kilku zasadach. Podstawą jest rygorystyczna walidacja i sanityzacja danych wejściowych — najlepiej przez białą listę dozwolonych wartości, zamiast prób filtrowania niebezpiecznych znaków. Nigdy nie należy przekazywać surowego parametru użytkownika bezpośrednio do funkcji operujących na plikach. Pomaga też odpowiednia konfiguracja serwera i uprawnień, uruchamianie aplikacji z minimalnymi przywilejami oraz [firewall](https://nodea.pl/pl/slownik-pojec/firewall) aplikacyjny (WAF), który wychwytuje typowe wzorce path traversal.

Podatność LFI figuruje w klasyfikacjach [OWASP](https://nodea.pl/pl/slownik-pojec/owasp) w kategorii błędów kontroli dostępu i wstrzyknięć. Regularne [testy penetracyjne](https://nodea.pl/pl/slownik-pojec/testy-penetracyjne) oraz przeglądy kodu to najskuteczniejszy sposób, by wykryć takie luki, zanim zrobi to atakujący.

Warto odróżnić LFI od pokrewnej podatności RFI (Remote File Inclusion), w której dołączany plik pochodzi ze zdalnego serwera — RFI jest groźniejsze, ale współczesne konfiguracje PHP domyślnie blokują ładowanie plików z adresów URL. W obu przypadkach źródłem problemu jest ta sama zła praktyka: budowanie ścieżki do pliku wprost z danych użytkownika. Utrzymywanie oprogramowania i bibliotek w aktualnych wersjach dodatkowo redukuje ryzyko, bo wiele znanych podatności tego typu jest łatanych przez producentów w kolejnych wydaniach.

### Czym różni się LFI od RFI?

LFI (Local File Inclusion) polega na dołączeniu pliku znajdującego się na tym samym serwerze, co aplikacja. RFI (Remote File Inclusion) dołącza plik z zewnętrznego, zdalnego adresu URL, co pozwala wprost wstrzyknąć własny kod. RFI jest groźniejsze, ale współczesne konfiguracje PHP domyślnie je blokują.

## Powiązane

- [Exploit](https://nodea.pl/pl/slownik-pojec/exploit)
- [OWASP](https://nodea.pl/pl/slownik-pojec/owasp)
- [XSS](https://nodea.pl/pl/slownik-pojec/xss)
- [SQL injection](https://nodea.pl/pl/slownik-pojec/sql-injection)
- [Firewall](https://nodea.pl/pl/slownik-pojec/firewall)

---

Wersje językowe: [en](https://nodea.io/en/glossary/local-file-inclusion.md)  
Spis treści witryny: [llms.txt](https://nodea.pl/pl/llms.txt)
