
Uno scanner e tester della CVE-2025-11001 di 7-zip
Un'applicazione web interattiva e accattivante che dimostra e aiuta a rilevare la critica vulnerabilità di symlink traversal CVE-2023-52169 negli archivi 7-Zip.
../, ..\\)/, C:\\)Clona il repository
git clone <repository-url>
cd Se7enSlip
Installa le dipendenze
npm install
Avvia il server di sviluppo
npm start
Apri il browser
Naviga su http://localhost:3000
# Sviluppo con auto-reload
npm run dev
# Crea un file ZIP di test vulnerabile
npm run create-test-zip
# Build di produzione
npm run build
La vulnerabilità consente agli attaccanti di creare archivi ZIP malevoli che, quando estratti da versioni vulnerabili di 7-Zip, possono scrivere file al di fuori della directory di estrazione prevista. Ciò viene ottenuto tramite:
../ per uscire dalla cartella di estrazione┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Malicious ZIP │───▶│ Vulnerable 7-Zip│───▶│ System Compromise│
│ │ │ < v23.01 │ │ │
│ • ../../../etc/ │ │ │ │ • File overwrite│
│ • /tmp/evil.sh │ │ Fails to validate│ │ • Code execution│
│ • Symlinks │ │ extraction paths│ │ • Privilege esc.│
└─────────────────┘ └─────────────────┘ └─────────────────┘
POST /api/scanCarica e scansiona un file ZIP per vulnerabilità.
Richiesta: Dati del modulo multipart con campo zipfile
Risposta:
{
"filename": "test.zip",
"totalEntries": 10,
"suspicious": [...],
"riskLevel": "HIGH",
"recommendations": [...],
"metadata": {
"totalSize": 12345,
"suspiciousPatterns": {...}
}
}
GET /api/vulnerability-infoRecupera informazioni dettagliate su CVE-2023-52169.
Risposta:
{
"cve": "CVE-2023-52169",
"cvssScore": 7.8,
"downloadUrl": "https://www.7-zip.org/download.html",
"references": [...]
}
POST /api/create-test-zipGenera un file ZIP di test contenente vari pattern di vulnerabilità.
Risposta: Download del file ZIP con voci malevole per test
public/css/
├── styles.css # Foglio di stile principale con proprietà CSS personalizzate
├── animations/ # Keyframe di animazione e transizioni
├── components/ # Stili specifici dei componenti
└── responsive/ # Media query e design responsivo
:root {
--primary: #00ff88; /* Verde neon */
--secondary: #ff4757; /* Rosso pericolo */
--accent: #3742fa; /* Blu elettrico */
--bg-primary: #0a0a0a; /* Nero profondo */
--text-primary: #ffffff; /* Bianco puro */
}
PORT=3000 # Porta del server
NODE_ENV=production # Modalità ambiente
UPLOAD_LIMIT=52428800 # Limite dimensione file (50MB)
RATE_LIMIT_WINDOW=900000 # Finestra rate limiting (15min)
RATE_LIMIT_MAX=50 # Max richieste per finestra
L'applicazione include molteplici livelli di sicurezza:
// Content Security Policy
helmet({
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
styleSrc: ["'self'", "'unsafe-inline'"],
// ... direttive aggiuntive
}
}
})
# Crea un ZIP di test con vulnerabilità
npm run create-test-zip
# Il file generato conterrà:
# - Voci di path traversal (../)
# - Percorsi assoluti (/tmp/, C:\)
# - Voci symlink
# - Nomi di percorso lunghi
# - File eseguibili