LFI (Local File Inclusion): как невнимательность разработчика превращает файлы сервера в открытую книгу
LFI — это уязвимость, позволяющая злоумышленнику через манипуляцию входными параметрами заставить веб-приложение подключить и исполнить локальный файл, хранящийся на сервере. Чаще всего это происходит, когда динамически формируются пути для отображения страниц (например, языковых шаблонов или блоков новостей), и движок слепо доверяет тому, что пришло из адресной строки.
— Разбираем механику локального включения файлов. Узнаем, как обычная навигация по сайту при неправильной настройке превращается в бэкдор для чтения логов и конфигураций.
В материале:
— Принцип работы LFI: от чтения конфигурационных файлов (wp-config.php, .env) до выгрузки системных баз
— RCE через LFI: как хакеры умудряются выполнять произвольный код на сервере, «отравляя» логи веб-сервера (Log Poisioning) или сессии
— Обход простейших проверок: использование PHP-оберток (wrappers) вроде php://filter для чтения исходного кода в Base64
— Методы защиты: полный отказ от передачи имен файлов в параметрах, жесткие «белые списки» страниц и использование безопасных функций веб-инструментария
«Когда вы даете пользователю возможность выбирать, какой файл сервера открыть, вы стираете грань между публичной частью сайта и его закрытой изнанкой. Безопасная архитектура исключает прямую работу с путями на основе внешних данных»
— напоминают специалисты по веб-безопасности.
🔗 Статья
// BACKDOOR
LFI — это уязвимость, позволяющая злоумышленнику через манипуляцию входными параметрами заставить веб-приложение подключить и исполнить локальный файл, хранящийся на сервере. Чаще всего это происходит, когда динамически формируются пути для отображения страниц (например, языковых шаблонов или блоков новостей), и движок слепо доверяет тому, что пришло из адресной строки.
— Разбираем механику локального включения файлов. Узнаем, как обычная навигация по сайту при неправильной настройке превращается в бэкдор для чтения логов и конфигураций.
В материале:
— Принцип работы LFI: от чтения конфигурационных файлов (wp-config.php, .env) до выгрузки системных баз
— RCE через LFI: как хакеры умудряются выполнять произвольный код на сервере, «отравляя» логи веб-сервера (Log Poisioning) или сессии
— Обход простейших проверок: использование PHP-оберток (wrappers) вроде php://filter для чтения исходного кода в Base64
— Методы защиты: полный отказ от передачи имен файлов в параметрах, жесткие «белые списки» страниц и использование безопасных функций веб-инструментария
«Когда вы даете пользователю возможность выбирать, какой файл сервера открыть, вы стираете грань между публичной частью сайта и его закрытой изнанкой. Безопасная архитектура исключает прямую работу с путями на основе внешних данных»
— напоминают специалисты по веб-безопасности.
🔗 Статья
// BACKDOOR