
PoC для CVE-2025-56399 - Неограниченная загрузка файлов, приводящая к RCE в alexusmai/laravel-file-manager (≤3.3.1). Автоматизирует обнаружение, извлечение CSRF и загрузку файлов.
CWE-434: Неограниченная загрузка файла опасного типа
Оценка CVSS: 8.5 (высокая)
Этот инструмент предоставляет доказательство концепции (PoC) для CVE-2025-56399 — критической уязвимости в alexusmai/laravel-file-manager (версии ≤ 3.3.1).
Уязвимость позволяет аутентифицированному злоумышленнику добиться удалённого выполнения кода (RCE) путём загрузки специально сформированного файла, обхода клиентской проверки и переименования его в PHP-расширение.
Этот скрипт автоматизирует весь процесс:
| Атрибут | Значение |
|---|---|
| Тип уязвимости | Неограниченная загрузка файлов → RCE |
| CWE | CWE-434 |
| Оценка CVSS | 8.5 (высокая) |
| Вектор атаки | Сеть |
| Сложность атаки | Низкая |
| Требуемые привилегии | Низкие (аутентифицированный пользователь) |
| Взаимодействие с пользователем | Активное |
/file-manager).png-файл, содержащий PHP-код.phpgit clone https://github.com/Jenderal92/laravel-filemanager-unrestricted-upload.git
cd laravel-filemanager-unrestricted-upload
pip install -r requirements.txt
Требования
· Python 2.7 · requests · colorama
📖 Использование
python2 lfm.py list.txt
Формат входных данных (list.txt)
https://target1.com
https://target2.com
http://target3.com
Вывод
· valid.txt — список проверенных URL-адресов оболочек (добавьте ?shinday=1 для доступа)
Пример вывода:
https://target.com/storage/shxt_123456.php?shinday=1
🧪 Как работает эксплойт
📂 Детали полезной нагрузки
Загруженный PHP-файл представляет собой однофайловый веб-шелл, который:
· Отображает информацию о системе (php_uname) · Предоставляет форму загрузки файлов (для добавления дополнительных инструментов) · Отвечает на параметр ?shinday=1 полным интерфейсом оболочки · В противном случае выводит корректное изображение GIF89a для избежания обнаружения
Доступ к оболочке через:
https://target.com/path/to/shxt_123456.php?shinday=1
🛡️ Меры защиты
Чтобы защититься от этой уязвимости:
Route::group(['middleware' => ['auth', 'admin']], function () {
// File Manager routes
});
composer remove alexusmai/laravel-file-manager
<FilesMatch "\.(php|phtml|php3|php4|php5|phar)$">
Deny from all
</FilesMatch>
📦 Затронутые версии
Пакет: затронутые версии alexusmai/laravel-file-manager ≤ 3.3.1
🔗 Ссылки
· CVE-2025-56399 - NVD · GitHub Advisory · База данных уязвимостей Snyk · Запись VulDB · alexusmai/laravel-file-manager
📜 Отказ от ответственности
ПРЕДУПРЕЖДЕНИЕ: Этот инструмент предназначен только для образовательного и авторизованного тестирования безопасности. Используя его, вы соглашаетесь:
· Тестируйте только системы, которые принадлежат вам или на тестирование которых у вас есть явное разрешение · Не используйте его в вредоносных целях · Соблюдайте все применимые законы
Автор не несёт ответственности за любое неправомерное использование или причинённый ущерб.
Дополнительный отказ от ответственности: вы можете увидеть отказ от ответственности на странице Jenderal92. Вы можете проверить его ЗДЕСЬ !!!