Logo David Burdelak
Słownik · Cyberbezpieczeństwo

Co to jest LFI?

Ostatnia aktualizacja:

LFI (Local File Inclusion) to podatność aplikacji webowej, w której nieprzefiltrowana wartość podana przez użytkownika jest użyta do wskazania pliku dołączanego przez serwer. Atakujący może w ten sposób odczytać pliki lokalne, takie jak konfiguracja czy logi, a czasem doprowadzić do wykonania kodu.

Jak powstaje LFI?

Typowy przykład to skrypt PHP, który dołącza plik na podstawie parametru z adresu: include($_GET['strona'] . '.php'). Wartość z sekwencją ../ pozwala wyjść poza zamierzony katalog (path traversal) i wskazać inny plik.

Skutki

Odczyt plików konfiguracyjnych z hasłami do bazy, kodu źródłowego i logów. Jeśli atakujący zdoła wstrzyknąć kod do dołączanego pliku, np. przez zatrucie logów, może uzyskać zdalne wykonanie kodu.

Jak się chronić?

Nie buduj ścieżek z danych użytkownika. Użyj listy dozwolonych wartości i mapowania nazw na pliki, waliduj dane wejściowe, ogranicz uprawnienia procesu serwera i wyłącz niepotrzebne funkcje w konfiguracji PHP.

Powiązane pojęcia

Wszystkie hasła z kategorii Cyberbezpieczeństwo