
Ein Scanner und Tester für die CVE-2025-11001 von 7-Zip.
Eine beeindruckende, interaktive Webanwendung, die die kritische CVE-2023-52169 Symlink-Traversal-Schwachstelle in 7-Zip-Archiven demonstriert und bei deren Erkennung hilft.
../, ..\\)/, C:\\)Repository klonen
git clone <repository-url>
cd Se7enSlip
Abhängigkeiten installieren
npm install
Entwicklungsserver starten
npm start
Browser öffnen
Navigieren Sie zu http://localhost:3000
# Entwicklung mit automatischem Neuladen
npm run dev
# Eine Test-ZIP-Datei mit Schwachstellen erstellen
npm run create-test-zip
# Produktions-Build
npm run build
Die Schwachstelle ermöglicht es Angreifern, bösartige ZIP-Archive zu erstellen, die bei der Extraktion durch verwundbare 7-Zip-Versionen Dateien außerhalb des vorgesehenen Extraktionsverzeichnisses schreiben können. Dies wird erreicht durch:
../-Sequenzen, um den Extraktionsordner zu verlassen┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Bösartige ZIP │───▶│ Verwundbares │───▶│ Systemkompromittierung│
│ │ │ 7-Zip < v23.01 │ │ │
│ • ../../../etc/ │ │ │ │ • Dateiüberschreibung│
│ • /tmp/evil.sh │ │ Validiert │ │ • Codeausführung│
│ • Symlinks │ │ Extraktionspfade│ │ • Privilegieneskalation│
└─────────────────┘ └─────────────────┘ └─────────────────┘
POST /api/scanZIP-Datei hochladen und auf Schwachstellen scannen.
Anfrage: Multipart-Formulardaten mit zipfile-Feld
Antwort:
{
"filename": "test.zip",
"totalEntries": 10,
"suspicious": [...],
"riskLevel": "HIGH",
"recommendations": [...],
"metadata": {
"totalSize": 12345,
"suspiciousPatterns": {...}
}
}
GET /api/vulnerability-infoDetaillierte Informationen zu CVE-2023-52169 abrufen.
Antwort:
{
"cve": "CVE-2023-52169",
"cvssScore": 7.8,
"downloadUrl": "https://www.7-zip.org/download.html",
"references": [...]
}
POST /api/create-test-zipEine Test-ZIP-Datei mit verschiedenen Schwachstellenmustern generieren.
Antwort: ZIP-Datei-Download mit bösartigen Einträgen zum Testen
public/css/
├── styles.css # Haupt-Stylesheet mit CSS Custom Properties
├── animations/ # Animations-Keyframes und Übergänge
├── components/ # Komponentenspezifische Styles
└── responsive/ # Media Queries und responsives Design
:root {
--primary: #00ff88; /* Neon-Grün */
--secondary: #ff4757; /* Gefahren-Rot */
--accent: #3742fa; /* Elektrisches Blau */
--bg-primary: #0a0a0a; /* Tiefschwarz */
--text-primary: #ffffff; /* Reines Weiß */
}
PORT=3000 # Server-Port
NODE_ENV=production # Umgebungsmodus
UPLOAD_LIMIT=52428800 # Dateigrößenlimit (50MB)
RATE_LIMIT_WINDOW=900000 # Ratenbegrenzungsfenster (15 Min.)
RATE_LIMIT_MAX=50 # Maximale Anfragen pro Fenster
Die Anwendung enthält mehrere Sicherheitsebenen:
// Content Security Policy
helmet({
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
styleSrc: ["'self'", "'unsafe-inline'"],
// ... zusätzliche Direktiven
}
}
})
# Eine Test-ZIP mit Schwachstellen erstellen
npm run create-test-zip
# Die generierte Datei enthält:
# - Pfad-Traversal-Einträge (../)
# - Absolute Pfade (/tmp/, C:\)
# - Symlink-Einträge
# - Lange Pfadnamen
# - Ausführbare Dateien
NODE_ENV=production setzen