Включення локального файлу
Локальне включення файлів (Local File Inclusion, LFI ) - це тип уразливості у веб-додатках, коли зловмисник може маніпулювати додатком для включення файлів з локальної файлової системи сервера. Це дозволяє зловмиснику отримати доступ до конфіденційних файлів на сервері, що може призвести до витоку важливої інформації або уможливити подальші атаки, такі як виконання коду або підвищення привілеїв.
Типи локальних атак на включення файлів:
- Читання конфіденційних файлів:
Зловмисники можуть використовувати LFI для читання конфіденційних файлів на сервері, таких як/etc/passwd(системи на базі UNIX) - містить інформацію про обліковий запис користувача.config.php- конфігураційні файли, які можуть містити облікові дані бази даних або ключі API.- Файли журналів (наприклад,
error_log) - можуть містити цінну інформацію, таку як повідомлення про помилки, трасування стеку або дані користувача.
- Виконання коду:
Якщо додаток дозволяє LFI і зловмисник може контролювати вміст включеного файлу, він може завантажувати шкідливі скрипти або експлойт-файли для виконання довільного коду. Наприклад, зловмисник може завантажити PHP-файл, що містить шкідливе корисне навантаження, а потім включити цей файл за допомогою LFI, змусивши сервер виконати його. - Обхід шляху:
LFI уразливості часто йдуть пліч-о-пліч з атаками обходу шляху, коли зловмисник використовує спеціальні символи, такі як../(крапка-точка-коса риска) для обходу каталогів за межами передбачуваної області видимості файлів. Це дозволяє зловмиснику отримати доступ до файлів в різних каталогах на сервері. - Remote File Inclusion (RFI):
У деяких випадках LFI-уразливості можуть перерости в атаки Remote File Inclusion (RFI), якщо програма дозволяє додавати файли з віддалених місць (URL-адрес). Зловмисники можуть створити запит на включення файлу з віддаленого сервера, який містить шкідливий вміст, що дозволить їм виконати довільний код на сервері.
Тестування на наявність LFI вразливостей:
- Ручне тестування:
Ручне тестування полягає у спробі маніпулювання полями введення програми для включення файлів з сервера. Тестувальники можуть спробувати поширені шляхи до файлів, такі як/etc/passwd,../../../../etc/passwdабо../, щоб перевірити, чи є програма вразливою до LFI. Вони також можуть спробувати впровадити файли зі шкідливим корисним навантаженням, щоб перевірити, чи можливе віддалене виконання коду. - Автоматизовані сканери безпеки:
Такі інструменти, як Burp Suite, OWASP ZAP та Acunetix, можуть автоматизувати процес виявлення LFI-вразливостей, скануючи веб-додатки на наявність помилок включення файлів. Ці інструменти часто мають заздалегідь визначені правила для виявлення поширених шаблонів та вразливостей LFI-атак. - Тестування на проникнення:
Тестувальники на проникнення імітують реальні атаки, використовуючи вразливості в додатку, включаючи LFI. Вони намагаються отримати несанкціонований доступ до файлів, виконати довільний код або підвищити привілеї за допомогою LFI. Мета - виявити потенційні ризики безпеки та надати рекомендації щодо їх усунення.





